Класс yii\validators\FilterValidator
| Наследование | yii\validators\FilterValidator » yii\validators\Validator » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступна с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/validators/FilterValidator.php |
FilterValidator преобразует значение атрибута в соответствии с фильтром.
FilterValidator фактически не является валидатором, а процессором данных. Он вызывает указанную функцию-фильтр для обработки значения атрибута и сохраняет обработанное значение обратно в атрибут. Фильтр должен быть допустимой PHP-функцией с указанным сигнатурой:
function foo($value) {
// compute $newValue here
return $newValue;
}
Многие PHP-функции соответствуют этой сигнатуре (например, trim()).
Для указания фильтра установите свойство $filter в качестве обратного вызова.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $attributeNames | массив | Имена атрибутов. | yii\validators\Validator |
| $attributes | массив|строка | Атрибуты, которые должны быть проверены этим валидатором. | yii\validators\Validator |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединённых к этому компоненту | yii\base\Component |
| $builtInValidators | массив | Список встроенных валидаторов (имя => класс или конфигурация) | yii\validators\Validator |
| $enableClientValidation | булево | Включить проверку на стороне клиента для этого валидатора. | yii\validators\Validator |
| $except | массив|строка | Сценарии, для которых валидатор не должен применяться. | yii\validators\Validator |
| $filter | вызов | Фильтр. | yii\validators\FilterValidator |
| $isEmpty | вызов | PHP-вызов, который заменяет стандартную реализацию isEmpty(). | yii\validators\Validator |
| $message | строка | Пользовательское сообщение об ошибке. | yii\validators\Validator |
| $on | массив|строка | Сценарии, для которых валидатор может применяться. | yii\validators\Validator |
| $skipOnArray | булево | Пропустить фильтр, если входной параметр - массив. | yii\validators\FilterValidator |
| $skipOnEmpty | булево | Это свойство переопределено в false, чтобы этот валидатор применялся, когда проверяемое значение пустое. | yii\validators\FilterValidator |
| $skipOnError | булево | Пропустить правило валидации, если у атрибута уже есть ошибка валидации согласно предыдущим правилам. | yii\validators\Validator |
| $when | вызов | PHP-вызов, результат которого определяет, должен ли применяться этот валидатор. | yii\validators\Validator |
| $whenClient | строка | Имя 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\FilterValidator |
| 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\FilterValidator |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчик, прикреплённый к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\validators\FilterValidator |
| 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\FilterValidator |
| validateAttributes() | Проверяет указанный объект. | yii\validators\Validator |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| formatMessage() | Форматирует сообщение с использованием I18N или просто strtr, если \Yii::$app недоступен. | yii\validators\Validator |
| validateValue() | Проверяет значение. | yii\validators\Validator |
Подробное описание свойств
$filter общедоступное свойство
Фильтр. Это может быть имя глобальной функции, анонимная функция и т. д. Подпись функции должна быть следующей,
function foo($value) {
// compute $newValue here
return $newValue;
}
public callable $filter = null
$skipOnArray общедоступное свойство
Пропускать ли фильтр, если входной параметр — массив. Если true и вход — массив, фильтр не будет применён.
public boolean $skipOnArray = false
$skipOnEmpty общедоступное свойство
Это свойство перезаписывается на false, чтобы этот валидатор применялся, когда проверяемое значение пусто.
public boolean $skipOnEmpty = false
Подробное описание методов
clientValidateAttribute() публичный метод
Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента.
Вызывает getClientOptions(), чтобы сгенерировать массив опций для проверки на стороне клиента.
Вы можете переопределить этот метод, чтобы вернуть код JavaScript для проверки, если валидатор поддерживает проверку на стороне клиента.
Следующие переменные JavaScript предварительно определены и могут быть использованы в коде проверки:
-
attribute: объект, описывающий атрибут, который проверяется. -
value: значение, которое проверяется. -
messages: массив, используемый для хранения сообщений об ошибках проверки для атрибута. -
deferred: массив, используемый для хранения отложенных объектов для асинхронной проверки. -
$form: объект jQuery, содержащий элемент формы.
Объект attribute содержит следующие свойства:
-
id: уникальный идентификатор, определяющий атрибут (например, "loginform-username") в форме. -
name: имя атрибута или выражение (например, "[0]content" для табличных данных). -
container: селектор jQuery контейнера поля ввода. -
input: селектор jQuery поля ввода в контексте формы. -
error: селектор jQuery тега ошибки в контексте контейнера. -
status: состояние поля ввода: 0 — пустое, не вводилось ранее; 1 — проверено; 2 — ожидает проверки; 3 — происходит проверка.
| public string|null clientValidateAttribute ( $model, $attribute, $view ) | ||
|---|---|---|
| $model | yii\base\Model |
Модель данных, которая проверяется |
| $attribute | string |
Имя атрибута, который нужно проверить. |
| $view | yii\web\View |
Объект представления, который будет использоваться для рендеринга представлений или файлов представлений, содержащих форму модели с примененным валидатором. |
| return | string|null |
Скрипт проверки на стороне клиента. Значение Null, если валидатор не поддерживает проверку на стороне клиента. |
getClientOptions() публичный метод
Возвращает параметры проверки на стороне клиента.
Этот метод обычно вызывается из clientValidateAttribute(). Вы можете переопределить этот метод, чтобы изменить параметры, которые будут переданы в проверку на стороне клиента.
| public array getClientOptions ( $model, $attribute ) | ||
|---|---|---|
| $model | yii\base\Model |
Проверяемая модель |
| $attribute | string |
Имя проверяемого атрибута |
| return | array |
Параметры проверки на стороне клиента |
init() публичный метод
Инициализирует объект.
Этот метод вызывается в конце конструктора после инициализации объекта заданными параметрами.
| public void init ( ) |
|---|
validateAttribute() публичный метод
Проверяет один атрибут.
Подклассы должны реализовать этот метод для предоставления фактической логики проверки.
| public void validateAttribute ( $model, $attribute ) | ||
|---|---|---|
| $model | yii\base\Model |
Модель данных для проверки |
| $attribute | string |
Имя атрибута, который нужно проверить. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-validators-filtervalidator.html