Класс yii\validators\InlineValidator
| Наследование | yii\validators\InlineValidator » yii\validators\Validator » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/validators/InlineValidator.php |
InlineValidator представляет валидатор, определённый как метод в объекте, который валидируется.
Метод валидации должен иметь следующий сигнатуру:
function foo($attribute, $params, $validator)
где $attribute относится к имени атрибута, который валидируется, а $params — массив, представляющий дополнительные параметры, предоставленные в правиле валидации. Параметр $validator относится к связанному объекту yii\validators\InlineValidator и доступен с версии 2.0.11.
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $attributeNames | массив | Имена атрибутов. | yii\validators\Validator |
| $attributes | массив|строка | Атрибуты, которые должны быть проверены этим валидатором. | yii\validators\Validator |
| $behaviors | yii\base\Behavior[] | Список поведений, присоединённых к этому компоненту | yii\base\Component |
| $builtInValidators | массив | Список встроенных валидаторов (имя => класс или конфигурация) | yii\validators\Validator |
| $clientValidate | строка|Closure | Анонимная функция или имя метода класса модели, возвращающего код клиентской валидации. | yii\validators\InlineValidator |
| $enableClientValidation | булево | Включить валидацию на стороне клиента для этого валидатора. | yii\validators\Validator |
| $except | массив|строка | Сценарии, для которых валидатор не должен применяться. | yii\validators\Validator |
| $isEmpty | вызываемый элемент | PHP вызываемый элемент, который заменяет стандартную реализацию isEmpty(). | yii\validators\Validator |
| $message | строка | Пользовательское сообщение об ошибке. | yii\validators\Validator |
| $method | строка|Closure | Анонимная функция или имя метода класса модели, который будет вызван для выполнения фактической валидации. | yii\validators\InlineValidator |
| $on | массив|строка | Сценарии, к которым может быть применён валидатор. | yii\validators\Validator |
| $params | смешанный | Дополнительные параметры, которые передаются методу валидации | yii\validators\InlineValidator |
| $skipOnEmpty | булево | Пропустить это правило валидации, если значение атрибута равно null или пустой строке. | yii\validators\Validator |
| $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\InlineValidator |
| 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\base\Object |
| 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\InlineValidator |
| validateAttributes() | Проверяет указанный объект. | yii\validators\Validator |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| formatMessage() | Форматирует сообщение с использованием I18N или просто strtr, если \Yii::$app недоступен. | yii\validators\Validator |
| validateValue() | Проверяет значение. | yii\validators\Validator |
Подробное описание свойств
$clientValidate общедоступное свойство
Анонимная функция или имя метода класса модели, возвращающее код проверки на стороне клиента. Подпись метода должна быть следующей:
function foo($attribute, $params, $validator)
{
return "javascript";
}
где $attribute относится к имени атрибута, подлежащего проверке.
Для получения подробной информации о том, как вернуть код проверки на стороне клиента, обратитесь к clientValidateAttribute().
public string|Closure $clientValidate = null
$method общедоступное свойство
Анонимная функция или имя метода класса модели, который будет вызван для выполнения фактической проверки. Подпись метода должна быть следующей:
function foo($attribute, $params, $validator)
-
$attribute- имя атрибута, подлежащего проверке; -
$params- содержит значение $params, которое вы указываете при объявлении правила проверки на стороне модели; -
$validator- ссылка на связанный объект yii\validators\InlineValidator. Этот параметр доступен начиная с версии 2.0.11.
public string|Closure $method = null
$params общедоступное свойство
Дополнительные параметры, которые передаются в метод проверки
public mixed $params = null
Подробное описание методов
clientValidateAttribute() public method
Возвращает 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, если валидатор не поддерживает проверку на стороне клиента. |
validateAttribute() public method
Проверяет один атрибут.
Дочерние классы должны реализовать этот метод, чтобы предоставить фактическую логику проверки.
| 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-inlinevalidator.html