Класс yii\validators\EachValidator
| Наследование | yii\validators\EachValidator » yii\validators\Validator » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0.4 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/validators/EachValidator.php |
EachValidator валидирует массив, проверяя каждый его элемент по встроенному правилу валидации.
class MyModel extends Model
{
public $categoryIDs = [];
public function rules()
{
return [
// checks if every category ID is an integer
['categoryIDs', 'each', 'rule' => ['integer']],
]
}
}
Примечание: Данный валидатор не будет работать с встроенными правилами валидации в случае использования вне модели, например, через метод validate().
Примечание: EachValidator предназначен для использования только в простых случаях. В сложных ситуациях рекомендуется использовать табличные вводы или несколько моделей.
Общедоступные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $allowMessageFromRule | boolean | Использовать ли сообщение об ошибке, составленное валидатором, указанным через $rule, если проверка завершится неудачно. | yii\validators\EachValidator |
| $attributeNames | array | Имена атрибутов. | yii\validators\Validator |
| $attributes | array|string | Атрибуты, которые должны быть проверены этим валидатором. | yii\validators\Validator |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединённых к этому компоненту | yii\base\Component |
| $builtInValidators | array | Список встроенных валидаторов (имя => класс или конфигурация) | yii\validators\Validator |
| $enableClientValidation | boolean | Включить ли проверку на стороне клиента для этого валидатора. | yii\validators\Validator |
| $except | array|string | Сценарии, для которых валидатор не должен применяться. | yii\validators\Validator |
| $isEmpty | callable | Функция PHP, которая заменяет стандартную реализацию isEmpty(). | yii\validators\Validator |
| $message | string | Определенное пользователем сообщение об ошибке. | yii\validators\Validator |
| $on | array|string | Сценарии, для которых может применяться валидатор. | yii\validators\Validator |
| $rule | array|yii\validators\Validator | Определение правила валидации, которое должно использоваться для значений массива. | yii\validators\EachValidator |
| $skipOnEmpty | boolean | Пропустить ли это правило валидации, если значение атрибута равно null или пустой строке. | yii\validators\Validator |
| $skipOnError | boolean | Пропустить ли это правило валидации, если для проверяемого атрибута уже есть ошибка валидации согласно предыдущим правилам. | yii\validators\Validator |
| $stopOnFirstError | boolean | Остановить ли валидацию после обнаружения первой ошибки среди элементов значения атрибута. | yii\validators\EachValidator |
| $when | callable | Функция PHP, значение возврата которой определяет, нужно ли применять этот валидатор. | yii\validators\Validator |
| $whenClient | string | Имя JavaScript-функции, значение возврата которой определяет, нужно ли применять этот валидатор на стороне клиента. | yii\validators\Validator |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в значение null. | yii\base\Component |
| addError() | Добавляет ошибку об указанном атрибуте к объекту модели. | yii\validators\Validator |
| attachBehavior() | Присоединяет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Присоединяет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, может ли свойство быть прочитано. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, может ли свойство быть установлено. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| clientValidateAttribute() | Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента. | yii\validators\Validator |
| createValidator() | Создает объект валидатора. | yii\validators\Validator |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. | yii\base\Component |
| getAttributeNames() | Возвращает очищенные имена атрибутов без символа ! в начале | yii\validators\Validator |
| getBehavior() | Возвращает объект поведения с заданным именем. | yii\base\Component |
| getBehaviors() | Возвращает все поведения, присоединенные к этому компоненту. | yii\base\Component |
| getClientOptions() | Возвращает параметры проверки на стороне клиента. | yii\validators\Validator |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчики, присоединенные к событию с заданным именем. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\validators\EachValidator |
| isActive() | Возвращает значение, указывающее, активен ли валидатор для данного сценария и атрибута. | yii\validators\Validator |
| isEmpty() | Проверяет, пустое ли заданное значение. | yii\validators\Validator |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Присоединяет обработчик событий к событию. | yii\base\Component |
| trigger() | Вызывает событие. | yii\base\Component |
| validate() | Проверяет заданное значение. | yii\validators\Validator |
| validateAttribute() | Проверяет один атрибут. | yii\validators\EachValidator |
| validateAttributes() | Проверяет указанный объект. | yii\validators\Validator |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| formatMessage() | Форматирует сообщение с использованием I18N или просто strtr, если \Yii::$app недоступен. | yii\validators\Validator |
| validateValue() | Проверяет значение. | yii\validators\EachValidator |
Подробное описание свойств
$allowMessageFromRule публичное свойство
Использовать ли сообщение об ошибке, составленное валидатором, объявленным с помощью $rule, если его проверка завершилась неудачно. Если включено, сообщение об ошибке, указанное для этого валидатора, отобразится только если значение атрибута не является массивом. Если отключено, будет использоваться собственное значение сообщения об ошибке.
public boolean $allowMessageFromRule = true
$rule публичное свойство
Определение правила проверки, которое должно использоваться для значений массива. Оно должно быть указано в том же формате, что и в yii\base\Model::rules(), за исключением того, что оно не должно содержать список атрибутов в качестве первого элемента. Например:
['integer'] ['match', 'pattern' => '/[a-z]/is']
Для получения дополнительной информации обратитесь к yii\base\Model::rules().
public array|yii\validators\Validator $rule = null
$stopOnFirstError публичное свойство (доступно начиная с версии 2.0.11)
Останавливать ли проверку после обнаружения первой ошибки среди элементов значения атрибута. При включенном значении будет выдано одно сообщение об ошибке для атрибута, при отключенном - могут появиться несколько сообщений об ошибках: по одному на каждое неверное значение. Обратите внимание, что этот параметр повлияет только на validateAttribute(), в то время как validateValue() не будет затронут.
public boolean $stopOnFirstError = true
Подробное описание методов
init() public method
Инициализирует объект.
Этот метод вызывается в конце конструктора после инициализации объекта заданными настройками.
| public void init ( ) |
|---|
validateAttribute() public method
Проверяет одно атрибут.
Подклассы должны реализовать этот метод, чтобы предоставить фактическую логику проверки.
| public void validateAttribute ( $model, $attribute ) | ||
|---|---|---|
| $model | yii\base\Model |
Модель данных для проверки |
| $attribute | string |
Имя атрибута для проверки. |
validateValue() protected method
Проверяет значение.
Класс валидатора может реализовать этот метод для поддержки проверки данных вне контекста модели данных.
| protected array|null validateValue ( $value ) | ||
|---|---|---|
| $value | mixed |
Значение данных для проверки. |
| return | array|null |
Сообщение об ошибке и параметры, которые необходимо вставить в сообщение об ошибке. Нулевое значение должно возвращаться, если данные верны. |
| throws | yii\base\NotSupportedException |
если валидатор не поддерживает проверку данных без модели |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-validators-eachvalidator.html