StringValidator

Type
Class
Namespace
craft\validators
Inherits
craft\validators\StringValidator » yii\validators\StringValidator (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 StringValidator.

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)
containsMb4 string (opens new window) – User-defined error message used when the value contains 4+ byte characters (like emoji) and the database doesn’t support it.
disallowMb4 boolean (opens new window) – Whether the string should be checked for 4+ byte characters (like emoji)
enableClientValidation (opens new window) boolean (opens new window) – Whether to enable client-side validation for this validator.
encoding (opens new window) string (opens new window) – The encoding of the string value to be validated (e.g. 'UTF-8').
except (opens new window) array (opens new window), string (opens new window) – Scenarios that the validator should not be applied to.
isEmpty (opens new window) callable (opens new window) – A PHP callable that replaces the default implementation of isEmpty() (opens new window).
length (opens new window) integer (opens new window), array (opens new window) – Specifies the length limit of the value to be validated.
max (opens new window) integer (opens new window) – Maximum length.
message (opens new window) string (opens new window) – The user-defined error message.
min (opens new window) integer (opens new window) – Minimum length.
notEqual (opens new window) string (opens new window) – User-defined error message used when the length of the value is not equal to length (opens new window).
on (opens new window) array (opens new window), string (opens new window) – Scenarios that the validator can be applied to.
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.
strict (opens new window) boolean (opens new window) – Whether to require the value to be a string data type.
tooLong (opens new window) string (opens new window) – User-defined error message used when the length of the value is greater than max (opens new window).
tooShort (opens new window) string (opens new window) – User-defined error message used when the length of the value is smaller than min (opens new window).
trim boolean (opens new window) – Whether the string should be trimmed of whitespace
validationAttributes (opens new window) array (opens new window) – List of attribute names.
when (opens new window) callable (opens new window) – A PHP callable whose return value determines whether this validator should be applied.
whenClient (opens new window) string (opens new window) – A JavaScript function name whose return value determines whether this validator should be applied on the client-side.

# containsMb4

Type
string (opens new window)
Default value
null

User-defined error message used when the value contains 4+ byte characters (like emoji) and the database doesn’t support it.

View source (opens new window)

# disallowMb4

Type
boolean (opens new window)
Default value
false

Whether the string should be checked for 4+ byte characters (like emoji)

View source (opens new window)

# trim

DEPRECATED

Deprecated in 3.0.32. Use Yii’s 'trim' validator instead.

Type
boolean (opens new window)
Default value
false
Since
3.0.18

Whether the string should be trimmed of whitespace

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 an object property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets value of an object property.
__unset() (opens new window) Sets an object property to null.
addError() (opens new window) 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.
init() 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.
validateValue() Validates a value.

# init()

Initializes the object.

This method is invoked at the end of the constructor after the object is initialized with the given configuration.

View source (opens new window)

# validateAttribute()

Validates a single attribute.

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

View source (opens new window)

Arguments

# validateValue()

Validates a value.

A validator class can implement this method to support data validation out of the context of a data model.

View source (opens new window)

Arguments

  • $value (mixed) – The data value to be validated.

Returns

array (opens new window), null (opens new window) – The error message and the array of parameters to be inserted into the error message.

if (!$valid) {
    return [$this->message, [
        'param1' => $this->param1,
        'formattedLimit' => Yii::$app->formatter->asShortSize($this->getSizeLimit()),
        'mimeTypes' => implode(', ', $this->mimeTypes),
        'param4' => 'etc...',
    ]];
}

return null;

for this example message template can contain {param1}, {formattedLimit}, {mimeTypes}, {param4}

Null should be returned if the data is valid.

Throws

# Protected Methods

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