UniqueValueRule
extends BaseModelRule
in package
Checks that a unique value doesn't already exist in the database, e.g. a username or email address.
This is to give a friendlier frontend to DB errors pertaining to UNIQUE constraints.
N.B. this function uses LIKE for case-insensitive matching, so it's even stricter than a UNIQUE constraint.
Table of Contents
Properties
- $fields : array<string|int, string>
- $message : mixed
- $model : PdbModelInterface|null
Methods
- fields() : array<string|int, string>
- What fields are registered for this rule?
- getFieldValues() : array<string|int, mixed>
- Get a list of values that match this rule's fields.
- getName() : string
- The shorthand name for this rule.
- isEmpty() : bool
- Is this data field empty?
- parse() : void
- Parse a ruleset.
- validate() : void
- Validate data against this rule.
- validateOne() : void
- Validate a single value against this rule.
Properties
$fields
public
array<string|int, string>
$fields
= []
$message
public
mixed
$message
= 'Must be a unique value'
$model
public
PdbModelInterface|null
$model
Methods
fields()
What fields are registered for this rule?
public
fields() : array<string|int, string>
Tags
Return values
array<string|int, string>getFieldValues()
Get a list of values that match this rule's fields.
public
getFieldValues(array<string|int, mixed>|object $data) : array<string|int, mixed>
Parameters
- $data : array<string|int, mixed>|object
Return values
array<string|int, mixed>getName()
The shorthand name for this rule.
public
static getName() : string
Tags
Return values
stringisEmpty()
Is this data field empty?
public
static isEmpty(array<string|int, mixed>|ArrayAccess $data, string $field) : bool
Note, this considers a numeric 'zero' as non-empty.
Parameters
- $data : array<string|int, mixed>|ArrayAccess
- $field : string
Return values
boolparse()
Parse a ruleset.
public
parse(array<string|int, mixed> $ruleset) : void
Parameters
- $ruleset : array<string|int, mixed>
Tags
validate()
Validate data against this rule.
public
validate(mixed $data) : void
Parameters
- $data : mixed
Tags
validateOne()
Validate a single value against this rule.
public
validateOne(string $field, mixed $value) : void
Parameters
- $field : string
- $value : mixed