UniqueValidator

Type
Class
Namespace
craft\validators
Inherits
craft\validators\UniqueValidator » yii\validators\UniqueValidator (opens new window) » yii\validators\Validator (opens new window) » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
3.0.0

Class UniqueValidator.

View source (opens new window)

# Public Properties

Property Description
attributeNames (opens new window) array (opens new window) – Attribute names.
attributes (opens new window) array (opens new window), string (opens new window) – Attributes to be validated by this validator.
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component.
builtInValidators (opens new window) array (opens new window) – List of built-in validators (name => class or configuration)
caseInsensitive boolean (opens new window) – Whether a case-insensitive check should be performed.
comboNotUnique (opens new window) string (opens new window)
enableClientValidation (opens new window) boolean (opens new window) – Whether to enable client-side validation for this validator.
except (opens new window) array (opens new window), string (opens new window) – Scenarios that the validator should not be applied to.
filter (opens new window) string (opens new window), array (opens new window), Closure (opens new window) – Additional filter to be applied to the DB query used to check the uniqueness of the attribute value.
forceMasterDb (opens new window) boolean (opens new window) – Whether this validator is forced to always use master DB
isEmpty (opens new window) callable (opens new window), null (opens new window) – A PHP callable that replaces the default implementation of isEmpty() (opens new window).
message (opens new window) string (opens new window) – The user-defined error message.
on (opens new window) array (opens new window), string (opens new window) – Scenarios that the validator can be applied to.
pk string (opens new window), string (opens new window)[] – If targetClass (opens new window) is set, this defines the model attributes that represent the record's primary key(s).
skipOnEmpty (opens new window) boolean (opens new window) – Whether this validation rule should be skipped if the attribute value is null or an empty string.
skipOnError (opens new window) boolean (opens new window) – Whether this validation rule should be skipped if the attribute being validated already has some validation error according to some previous rules.
targetAttribute (opens new window) string (opens new window), array (opens new window), null (opens new window) – The name of the ActiveRecord (opens new window) attribute that should be used to validate the uniqueness of the current attribute value.
targetAttributeJunction (opens new window) string (opens new window) – And
targetClass (opens new window) string (opens new window), null (opens new window) – The name of the ActiveRecord class that should be used to validate the uniqueness of the current attribute value.
validationAttributes (opens new window) array (opens new window), null (opens new window) – List of attribute names.
when (opens new window) callable (opens new window), null (opens new window) – A PHP callable whose return value determines whether this validator should be applied.
whenClient (opens new window) string (opens new window), null (opens new window) – A JavaScript function name whose return value determines whether this validator should be applied on the client-side.

# caseInsensitive

Type
boolean (opens new window)
Default value
false

Whether a case-insensitive check should be performed.

View source (opens new window)

# pk

Type
string (opens new window), string (opens new window)[]
Default value
null

If targetClass (opens new window) is set, this defines the model attributes that represent the record's primary key(s). Can be set to a string or array of strings of model attributes in the same respective order as the primary keys defined by the record's primaryKey() method, or can be set to an array of attribute/PK pairs, which explicitly maps model attributes to record primary keys. Defaults to whatever the record's primaryKey() method returns.

View source (opens new window)

# Protected Properties

Property Description
originalModel yii\base\Model (opens new window), null (opens new window) – The model that is being validated

# originalModel

Type
yii\base\Model (opens new window), null (opens new window)
Default value
null

The model that is being validated

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets the value of a component property.
__unset() (opens new window) Sets a component property to be null.
addError() Adds an error about the specified attribute to the model object.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
clientValidateAttribute() (opens new window) Returns the JavaScript needed for performing client-side validation.
createValidator() (opens new window) Creates a validator object.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
getAttributeNames() (opens new window) Returns cleaned attribute names without the ! character at the beginning.
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getClientOptions() (opens new window) Returns the client-side validation options.
getValidationAttributes() (opens new window) Returns a list of attributes this validator applies to.
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
init() (opens new window) Initializes the object.
isActive() (opens new window) Returns a value indicating whether the validator is active for the given scenario and attribute.
isEmpty() (opens new window) Checks if the given value is empty.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
trigger() (opens new window) Triggers an event.
validate() (opens new window) Validates a given value.
validateAttribute() Validates a single attribute.
validateAttributes() (opens new window) Validates the specified object.

# addError()

Adds an error about the specified attribute to the model object.

This is a helper method that performs message selection and internationalization.

View source (opens new window)

Arguments

# validateAttribute()

Validates a single attribute.

Child classes must implement this method to provide the actual validation logic.

View source (opens new window)

Arguments

# Protected Methods

Method Description
formatMessage() (opens new window) Formats a mesage using the I18N, or simple strtr if \Yii::$app is not available.
validateValue() (opens new window) Validates a value.