InlineValidator
API reference › yii › validators › InlineValidator
InlineValidator represents a validator which is defined as a method in the object being validated.
Properties
Section titled “Properties”| Property | Type | Description | Defined by |
|---|---|---|---|
$attributeNames read-only | array | Attribute names. | Validator |
$attributes | array| | Attributes to be validated by this validator. Default: []. | Validator |
$behaviors read-only | array<yii\<static>> | List of behaviors attached to this component. | yii\ |
$builtInValidators static | array | List of built-in validators (name => class or configuration) Default: ['boolean' => 'yii\. | Validator |
$clientValidate | string|Closure | An anonymous function or the name of a model class method that returns the client validation code. Default: null. | InlineValidator |
$current | mixed | The value of attribute being currently validated. Default: null. Available since 2.0.36. | InlineValidator |
$enableClientValidation | bool | Whether to enable client-side validation for this validator. Default: true. | Validator |
$except | array| | Scenarios that the validator should not be applied to. Default: []. | Validator |
$isEmpty | callable| | A PHP callable that replaces the default implementation of isEmpty(). Default: null. | Validator |
$message | string| | The user-defined error message. Default: null. | Validator |
$method | string| | An anonymous function or the name of a model class method that will be called to perform the actual validation. Default: null. | InlineValidator |
$on | array| | Scenarios that the validator can be applied to. Default: []. | Validator |
$params | mixed | Additional parameters that are passed to the validation method Default: null. | InlineValidator |
$skipOnEmpty | bool | Whether this validation rule should be skipped if the attribute value is null or an empty string. Default: true. | Validator |
$skipOnError | bool | Whether this validation rule should be skipped if the attribute being validated already has some validation error according to some previous rules. Default: true. | Validator |
$validationAttributes read-only | array| | List of attribute names. | Validator |
$when | callable| | A PHP callable whose return value determines whether this validator should be applied. Default: null. | Validator |
$whenClient | string| | A JavaScript function name whose return value determines whether this validator should be applied on the client-side. Default: null. | Validator |
Methods
Section titled “Methods”| Method | Description | Defined by |
|---|---|---|
__construct() | Constructor. | yii\ |
__call() | Calls the named method which is not a class method. | yii\ |
__clone() | This method is called after the object is created by cloning an existing one. | yii\ |
__get() | Returns the value of a component property. | yii\ |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\ |
__set() | Sets the value of a component property. | yii\ |
__unset() | Sets a component property to be null. | yii\ |
addError() | Adds an error about the specified attribute to the model object. | Validator |
attachBehavior() | Attaches a behavior to this component. | yii\ |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\ |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\ |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\ |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\ |
className() static | Returns the fully qualified name of this class. | yii\ |
clientValidateAttribute() | Returns the JavaScript needed for performing client-side validation. | InlineValidator |
createValidator() static | Creates a validator object. | Validator |
detachBehavior() | Detaches a behavior from the component. | yii\ |
detachBehaviors() | Detaches all behaviors from the component. | yii\ |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\ |
getAttributeNames() | Returns cleaned attribute names without the ! character at the beginning. | Validator |
getBehavior() | Returns the named behavior object. | yii\ |
getBehaviors() | Returns all behaviors attached to this component. | yii\ |
getClientOptions() | Returns the client-side validation options. | Validator |
getFormattedClientMessage() | Returns the formatted validation message for client-side validation. | Validator |
getValidationAttributes() | Returns a list of attributes this validator applies to. | Validator |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\ |
hasMethod() | Returns a value indicating whether a method is defined. | yii\ |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\ |
init() | Initializes the object. | Validator |
isActive() | Returns a value indicating whether the validator is active for the given scenario and attribute. | Validator |
isEmpty() | Checks if the given value is empty. | Validator |
off() | Detaches an existing event handler from this component. | yii\ |
on() | Attaches an event handler to an event. | yii\ |
trigger() | Triggers an event. | yii\ |
validate() | Validates a given value. | Validator |
validateAttribute() | Validates a single attribute. | InlineValidator |
validateAttributes() | Validates the specified object. | Validator |
formatMessage() protected | Formats a mesage using the I18N, or simple strtr if \ is not available. | Validator |
validateValue() protected | Validates a value. | Validator |
Property details
Section titled “Property details”$clientValidate
Section titled “$clientValidate ”public string|Closure $clientValidate = nullAn anonymous function or the name of a model class method that returns the client validation code.
The signature of the method should be like the following:
function (string $attribute, mixed $params, InlineValidator $validator, mixed $current, View $view): string{ // $view->registerJs('JS validation function'); // or \app\assets\ValidationAsset::register($view); return "calling JS validation function";}Please refer to clientValidateAttribute() and guide for details on how
to return client validation code.
$method
Section titled “$method ”public string|callable $method = nullAn anonymous function or the name of a model class method that will be called to perform the actual validation.
The signature of the method should be like the following:
function (string $attribute, mixed $params, InlineValidator $validator, mixed $current): bool {}$attributeis the name of the attribute to be validated$paramscontains the value of$paramsthat you specify when declaring the inline validation rule$validatoris a reference to relatedInlineValidatorobject. This parameter is available since version 2.0.11$currentis the attribute value. This parameter is available since version 2.0.36
Method details
Section titled “Method details”clientValidateAttribute()
Section titled “clientValidateAttribute() ”public function clientValidateAttribute(mixed $model, mixed $attribute, mixed $view): string|nullReturns the JavaScript needed for performing client-side validation.
Calls getClientOptions() to generate options array for client-side validation.
You may override this method to return the JavaScript validation code if the validator can support client-side validation.
The following JavaScript variables are predefined and can be used in the validation code:
attribute: an object describing the the attribute being validated.value: the value being validated.messages: an array used to hold the validation error messages for the attribute.deferred: an array used to hold deferred objects for asynchronous validation$form: a jQuery object containing the form element
The attribute object contains the following properties:
id: a unique ID identifying the attribute (e.g. “loginform-username”) in the formname: attribute name or expression (e.g. “[0]content” for tabular input)container: the jQuery selector of the container of the input fieldinput: the jQuery selector of the input field under the context of the formerror: the jQuery selector of the error tag under the context of the containerstatus: status of the input field, 0: empty, not entered before, 1: validated, 2: pending validation, 3: validating
Parameters
| Parameter | Type | Description |
|---|---|---|
$model | mixed | The data model being validated |
$attribute | mixed | The name of the attribute to be validated. |
$view | mixed | The view object that is going to be used to render views or view files containing a model form with this validator applied. |
Returns
string|null: The client-side validation script. Null if the validator does not support client-side validation.
validateAttribute()
Section titled “validateAttribute() ”public function validateAttribute(mixed $model, mixed $attribute): mixedValidates a single attribute.
Child classes must implement this method to provide the actual validation logic.
Parameters
| Parameter | Type | Description |
|---|---|---|
$model | mixed | The data model to be validated |
$attribute | mixed | The name of the attribute to be validated. |
Returns
mixed