CInlineValidator
| Пакет | system.validators |
|---|---|
| Наследование | class CInlineValidator » CValidator » CComponent |
| С версии | 1.0 |
| Исходный код | framework/validators/CInlineValidator.php |
CInlineValidator представляет валидатор, который определяется как метод в объекте, подлежащем валидации.
Общественные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| attributes | массив | список атрибутов, которые должны быть проверены. | CValidator |
| builtInValidators | массив | список встроенных валидаторов (имя=>класс) | CValidator |
| clientValidate | строка | имя метода, возвращающего код клиентской валидации (см. clientValidateAttribute). | CInlineValidator |
| enableClientValidation | булево | выполнять ли проверку на стороне клиента. | CValidator |
| except | массив | список сценариев, к которым валидатор не должен применяться. | CValidator |
| message | строка | пользовательское сообщение об ошибке. | CValidator |
| method | строка | имя метода валидации, определенного в классе активной записи | CInlineValidator |
| on | массив | список сценариев, к которым валидатор должен применяться. | CValidator |
| params | массив | дополнительные параметры, которые передаются методу валидации | CInlineValidator |
| safe | булево | являются ли атрибуты, указанные с этим валидатором, безопасными для массового назначения. | CValidator |
| skipOnError | булево | пропускать ли эту правило валидации, если уже есть ошибка валидации для текущего атрибута. | CValidator |
Общественные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | CComponent |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства null. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в null. | CComponent |
| applyTo() | Возвращает значение, указывающее, применяется ли валидатор к указанному сценарию. | CValidator |
| asa() | Возвращает объект именованного поведения. | CComponent |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | CComponent |
| attachEventHandler() | Прикрепляет обработчик событий к событию. | CComponent |
| canGetProperty() | Определяет, можно ли считать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| clientValidateAttribute() | Возвращает код JavaScript, необходимый для выполнения проверки на стороне клиента, вызывая метод clientValidate. | CInlineValidator |
| createValidator() | Создаёт объект валидатора. | CValidator |
| detachBehavior() | Открепляет поведение от компонента. | CComponent |
| detachBehaviors() | Открепляет все поведения от компонента. | CComponent |
| detachEventHandler() | Открепляет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает прикрепленное поведение. | CComponent |
| disableBehaviors() | Отключает все прикрепленные поведения этого компонента. | CComponent |
| enableBehavior() | Включает прикрепленное поведение. | CComponent |
| enableBehaviors() | Включает все прикрепленные к этому компоненту поведения. | CComponent |
| evaluateExpression() | Вычисляет выражение PHP или обратный вызов в контексте этого компонента. | CComponent |
| getEventHandlers() | Возвращает список прикрепленных обработчиков событий для события. | CComponent |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли прикрепленные обработчики для указанного события. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| raiseEvent() | Вызывает событие. | CComponent |
| validate() | Проверяет указанный объект. | CValidator |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| addError() | Добавляет ошибку об указанном атрибуте в активную запись. | CValidator |
| isEmpty() | Проверяет, является ли заданное значение пустым. | CValidator |
| validateAttribute() | Проверяет атрибут объекта. | CInlineValidator |
Подробное описание свойств
clientValidate свойство
public string $clientValidate;
имя метода, возвращающего код клиентской валидации (см. clientValidateAttribute).
method свойство
public string $method;
имя метода валидации, определенного в классе активной записи
params свойство
public array $params;
дополнительные параметры, которые передаются методу валидации
Подробное описание методов
clientValidateAttribute() метод (доступен с v1.1.9)
public string clientValidateAttribute(CModel $object, string $attribute) | ||
| $object | CModel | объект данных, который проходит валидацию |
| $attribute | строка | имя атрибута, который необходимо валидировать. |
| {return} | строка | скрипт валидации на стороне клиента. |
Исходный код: framework/validators/CInlineValidator.php#74 (показать)
public function clientValidateAttribute($object,$attribute)
{
if($this->clientValidate!==null)
{
$method=$this->clientValidate;
return $object->$method($attribute,$this->params);
}
}
Возвращает JavaScript-код, необходимый для выполнения валидации на стороне клиента, вызывая метод clientValidate. В коде валидации на клиенте заранее определены следующие переменные:
- value: текущее значение ввода, связанное с этим атрибутом.
- messages: массив, в который можно добавлять новые сообщения об ошибках для атрибута.
- attribute: структура данных, хранящая все параметры на стороне клиента для атрибута
Если clientValidate установлен в "clientValidate123", clientValidate123() — это имя метода, возвращающего код валидации на стороне клиента, и может выглядеть так:
<?php
public function clientValidate123($attribute,$params)
{
if(!isset($params['message']))
$params['message']='Value should be 123';
$js = "if(value != '123') { messages.push($params['message']); }";
return $js;
}
?>
См. также
validateAttribute() метод
protected void validateAttribute(CModel $object, string $attribute) | ||
| $object | CModel | валидируемый объект |
| $attribute | строка | валидируемый атрибут |
Исходный код: framework/validators/CInlineValidator.php#39 (показать)
protected function validateAttribute($object,$attribute)
{
$method=$this->method;
$object->$method($attribute,$this->params);
}
Проверяет атрибут объекта. Если обнаружена ошибка, сообщение об ошибке добавляется к объекту.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CInlineValidator