SlugValidator ​
- Type
- Class
- Namespace
- craft\validators
- Inherits
- craft\validators\SlugValidator » yii\validators\Validator » yii\base\Component » yii\base\BaseObject
- Implements
- yii\base\Configurable
- Since
- 3.0.0
Class SlugValidator.
Public Properties ​
Property | Description |
---|---|
attributeNames | array – Attribute names. |
attributes | array, string – Attributes to be validated by this validator. |
behaviors | yii\base\Behavior – List of behaviors attached to this component. |
builtInValidators | array – List of built-in validators (name => class or configuration) |
enableClientValidation | boolean – Whether to enable client-side validation for this validator. |
except | array, string – Scenarios that the validator should not be applied to. |
isEmpty | callable, null – A PHP callable that replaces the default implementation of isEmpty(). |
language | string, null – The language to pull ASCII character mappings for, if limitAutoSlugsToAscii is enabled. |
limitAutoSlugsToAscii | boolean, null – Whether auto-generated slugs should be limited to ASCII characters. |
message | string, null – The user-defined error message. |
on | array, string – Scenarios that the validator can be applied to. |
skipOnEmpty | boolean – Whether this validation rule should be skipped if the attribute value is null or an empty string. |
skipOnError | boolean – Whether this validation rule should be skipped if the attribute being validated already has some validation error according to some previous rules. |
sourceAttribute | string, null – The source attribute that auto-generated slugs should be based on. |
validationAttributes | array, null – List of attribute names. |
when | callable, null – A PHP callable whose return value determines whether this validator should be applied. |
whenClient | string, null – A JavaScript function name whose return value determines whether this validator should be applied on the client-side. |
language
​
The language to pull ASCII character mappings for, if limitAutoSlugsToAscii is enabled.
limitAutoSlugsToAscii
​
Whether auto-generated slugs should be limited to ASCII characters. Defaults to the limitAutoSlugsToAscii
config setting if left null.
sourceAttribute
​
The source attribute that auto-generated slugs should be based on. Set to null to skip validation for blank slugs.
Public Methods ​
Method | Description |
---|---|
__call() | Calls the named method which is not a class method. |
__clone() | This method is called after the object is created by cloning an existing one. |
__construct() | Constructor. |
__get() | Returns the value of a component property. |
__isset() | Checks if a property is set, i.e. defined and not null. |
__set() | Sets the value of a component property. |
__unset() | Sets a component property to be null. |
addError() | Adds an error about the specified attribute to the model object. |
attachBehavior() | Attaches a behavior to this component. |
attachBehaviors() | Attaches a list of behaviors to the component. |
behaviors() | Returns a list of behaviors that this component should behave as. |
canGetProperty() | Returns a value indicating whether a property can be read. |
canSetProperty() | Returns a value indicating whether a property can be set. |
className() | Returns the fully qualified name of this class. |
clientValidateAttribute() | Returns the JavaScript needed for performing client-side validation. |
createValidator() | Creates a validator object. |
detachBehavior() | Detaches a behavior from the component. |
detachBehaviors() | Detaches all behaviors from the component. |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. |
getAttributeNames() | Returns cleaned attribute names without the ! character at the beginning. |
getBehavior() | Returns the named behavior object. |
getBehaviors() | Returns all behaviors attached to this component. |
getClientOptions() | Returns the client-side validation options. |
getValidationAttributes() | Returns a list of attributes this validator applies to. |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. |
hasMethod() | Returns a value indicating whether a method is defined. |
hasProperty() | Returns a value indicating whether a property is defined for this component. |
init() | Initializes the object. |
isActive() | Returns a value indicating whether the validator is active for the given scenario and attribute. |
isEmpty() | Checks if the given value is empty. |
off() | Detaches an existing event handler from this component. |
on() | Attaches an event handler to an event. |
trigger() | Triggers an event. |
validate() | Validates a given value. |
validateAttribute() | Validates a single attribute. |
validateAttributes() | Validates the specified object. |
init()
​
Initializes the object.
This method is invoked at the end of the constructor after the object is initialized with the given configuration.
validateAttribute()
​
Validates a single attribute.
Child classes must implement this method to provide the actual validation logic.
Arguments ​
$model
(yii\base\Model) – The data model to be validated$attribute
(string) – The name of the attribute to be validated.
Protected Methods ​
Method | Description |
---|---|
formatMessage() | Formats a mesage using the I18N, or simple strtr if \Yii::$app is not available. |
validateValue() | Validates a value. |
validateValue()
​
Validates a value.
A validator class can implement this method to support data validation out of the context of a data model.
Arguments ​
$value
(mixed
) – The data value to be validated.
Returns ​
array, null – 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 ​
- yii\base\NotSupportedException
if the validator does not supporting data validation without a model