Class yii\validators\StringValidator
Inheritance | yii\validators\StringValidator » yii\validators\Validator » yii\base\Component » yii\base\BaseObject |
---|---|
Implements | yii\base\Configurable |
Available since version | 2.0 |
Source Code | https://github.com/yiisoft/yii2/blob/master/framework/validators/StringValidator.php |
StringValidator validates that the attribute value is of certain length.
Note, this validator should only be used with string-typed attributes.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$attributeNames | array | Attribute names. | yii\validators\Validator |
$attributes | array|string | Attributes to be validated by this validator. | yii\validators\Validator |
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$builtInValidators | array | List of built-in validators (name => class or configuration) | yii\validators\Validator |
$enableClientValidation | boolean | Whether to enable client-side validation for this validator. | yii\validators\Validator |
$encoding | string | The encoding of the string value to be validated (e.g. 'UTF-8'). | yii\validators\StringValidator |
$except | array|string | Scenarios that the validator should not be applied to. | yii\validators\Validator |
$isEmpty | callable | A PHP callable that replaces the default implementation of isEmpty(). | yii\validators\Validator |
$length | integer|array | Specifies the length limit of the value to be validated. | yii\validators\StringValidator |
$max | integer | Maximum length. | yii\validators\StringValidator |
$message | string | User-defined error message used when the value is not a string. | yii\validators\StringValidator |
$min | integer | Minimum length. | yii\validators\StringValidator |
$notEqual | string | User-defined error message used when the length of the value is not equal to $length. | yii\validators\StringValidator |
$on | array|string | Scenarios that the validator can be applied to. | yii\validators\Validator |
$skipOnEmpty | boolean | Whether this validation rule should be skipped if the attribute value is null or an empty string. | yii\validators\Validator |
$skipOnError | boolean | Whether this validation rule should be skipped if the attribute being validated already has some validation error according to some previous rules. | yii\validators\Validator |
$tooLong | string | User-defined error message used when the length of the value is greater than $max. | yii\validators\StringValidator |
$tooShort | string | User-defined error message used when the length of the value is smaller than $min. | yii\validators\StringValidator |
$validationAttributes | array | List of attribute names. | yii\validators\Validator |
$when | callable | A PHP callable whose return value determines whether this validator should be applied. | yii\validators\Validator |
$whenClient | string | A JavaScript function name whose return value determines whether this validator should be applied on the client-side. | yii\validators\Validator |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
addError() | Adds an error about the specified attribute to the model object. | yii\validators\Validator |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
clientValidateAttribute() | Returns the JavaScript needed for performing client-side validation. | yii\validators\StringValidator |
createValidator() | Creates a validator object. | yii\validators\Validator |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getAttributeNames() | Returns cleaned attribute names without the ! character at the beginning. |
yii\validators\Validator |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
getClientOptions() | Returns the client-side validation options. | yii\validators\StringValidator |
getValidationAttributes() | Returns a list of attributes this validator applies to. | yii\validators\Validator |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the object. | yii\validators\StringValidator |
isActive() | Returns a value indicating whether the validator is active for the given scenario and attribute. | yii\validators\Validator |
isEmpty() | Checks if the given value is empty. | yii\validators\Validator |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
trigger() | Triggers an event. | yii\base\Component |
validate() | Validates a given value. | yii\validators\Validator |
validateAttribute() | Validates a single attribute. | yii\validators\StringValidator |
validateAttributes() | Validates the specified object. | yii\validators\Validator |
Protected Methods
Method | Description | Defined By |
---|---|---|
formatMessage() | Formats a mesage using the I18N, or simple strtr if \Yii::$app is not available. |
yii\validators\Validator |
validateValue() | Validates a value. | yii\validators\StringValidator |
Property Details
The encoding of the string value to be validated (e.g. 'UTF-8'). If this property is not set, yii\base\Application::$charset will be used.
Specifies the length limit of the value to be validated. This can be specified in one of the following forms:
- an integer: the exact length that the value should be of;
- an array of one element: the minimum length that the value should be of. For example,
[8]
. This will overwrite $min. - an array of two elements: the minimum and maximum lengths that the value should be of.
For example,
[8, 128]
. This will overwrite both $min and $max.
See also:
Maximum length. If not set, it means no maximum length limit.
See also $tooLong for the customized message for a too long string.
User-defined error message used when the value is not a string.
Minimum length. If not set, it means no minimum length limit.
See also $tooShort for the customized message for a too short string.
User-defined error message used when the length of the value is not equal to $length.
User-defined error message used when the length of the value is greater than $max.
User-defined error message used when the length of the value is smaller than $min.
Method Details
Returns 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
public string|null clientValidateAttribute ( $model, $attribute, $view ) | ||
$model | yii\base\Model | The data model being validated |
$attribute | string | The name of the attribute to be validated. |
$view | yii\web\View | The view object that is going to be used to render views or view files containing a model form with this validator applied. |
return | string|null | The client-side validation script. Null if the validator does not support client-side validation. |
---|
Returns the client-side validation options.
This method is usually called from clientValidateAttribute(). You may override this method to modify options that will be passed to the client-side validation.
public array getClientOptions ( $model, $attribute ) | ||
$model | yii\base\Model | The model being validated |
$attribute | string | The attribute name being validated |
return | array | The client-side validation options |
---|
Initializes the object.
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
public void init ( ) |
Validates a single attribute.
Child classes must implement this method to provide the actual validation logic.
public void validateAttribute ( $model, $attribute ) | ||
$model | yii\base\Model | The data model to be validated |
$attribute | string | The name of the attribute to be validated. |
Validates a value.
A validator class can implement this method to support data validation out of the context of a data model.
protected array|null validateValue ( $value ) | ||
$value | mixed | The data value to be validated. |
return | array|null | The error message and the array of parameters to be inserted into the error message.
} return null;
Null should be returned if the data is valid. |
---|---|---|
throws | yii\base\NotSupportedException | if the validator does not supporting data validation without a model |