Spec-Zone.ru › Yii 1.1

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;
  }
?>

См. также

  • CActiveForm::enableClientValidation

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API