Spec-Zone.ru › Yii 1.1

CRequiredValidator

Пакет system.validators
Наследование class CRequiredValidator » CValidator » CComponent
С версии 1.0
Исходный код framework/validators/CRequiredValidator.php
CRequiredValidator проверяет, что указанный атрибут не имеет пустого или нулевого значения.

При использовании свойства message для определения пользовательского сообщения об ошибке, сообщение может содержать дополнительные заполнитель, которые будут заменены фактическим содержанием. Помимо заполнитель "{attribute}", распознаваемого всеми валидаторами (см. CValidator), CRequiredValidator позволяет задавать следующие заполнитель:
  • {value}: заменяется желаемым значением requiredValue.

Общественные свойства

Свойство Тип Описание Определено в
attributes массив список атрибутов, подлежащих валидации. CValidator
builtInValidators массив список встроенных валидаторов (имя=>класс) CValidator
enableClientValidation boolean выполнять ли валидацию на стороне клиента. CValidator
except массив список сценариев, к которым валидатор не должен применяться. CValidator
message строка пользовательское сообщение об ошибке. CValidator
on массив список сценариев, к которым валидатор должен применяться. CValidator
requiredValue смешанный тип желаемое значение, которое должен иметь атрибут. CRequiredValidator
safe boolean указывает, считаются ли атрибуты, указанные с этим валидатором, безопасными для массового назначения. CValidator
skipOnError boolean пропустить ли эту проверку, если для текущего атрибута уже есть ошибка валидации. CValidator
strict boolean строгое ли сравнение с requiredValue. CRequiredValidator
trim boolean следует ли обрезать значение с помощью функции php trim(), при сравнении строк. CRequiredValidator

Общественные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
applyTo() Возвращает значение, указывающее, применяется ли валидатор к указанному сценарию. CValidator
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
clientValidateAttribute() Возвращает JavaScript, необходимый для валидации на стороне клиента. CRequiredValidator
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() Проверяет атрибут объекта. CRequiredValidator

Подробности о свойствах

requiredValue свойство

public mixed $requiredValue;

Желаемое значение, которое должен иметь атрибут. Если значение null, валидатор проверит, что указанный атрибут не имеет null или пустого значения. Если задано ненулевое значение, валидатор проверит, что атрибут имеет такое же значение, как и это свойство. По умолчанию null.

strict свойство

public boolean $strict;

является ли сравнение с requiredValue строгим. Если это значение истинно, то значение и тип атрибута должны совпадать со значениями и типом requiredValue. По умолчанию ложно, что означает, что нужно только сопоставить значения. Это свойство используется только тогда, когда requiredValue не равно null.

trim свойство (доступно начиная с v1.1.14)

public boolean $trim;

следует ли обрезать значение с помощью функции php trim() при сравнении строк. Если установлено в false, значение атрибута не считается пустым, если оно содержит пробелы. По умолчанию истинно, что означает, что значение будет обрезанно.

Подробное описание методов

clientValidateAttribute() метод (доступен начиная с v1.1.7)

public string clientValidateAttribute(CModel $object, string $attribute)
$object CModel объект данных, который проверяется
$attribute строка имя атрибута, который необходимо проверить.
{return} строка скрипт проверки на стороне клиента.
Исходный код: framework/validators/CRequiredValidator.php#83 (показать)
public function clientValidateAttribute($object,$attribute)
{
    
$message=$this->message;
    if(
$this->requiredValue!==null)
    {
        if(
$message===null)
            
$message=Yii::t('yii','{attribute} must be {value}.');
        
$message=strtr($message, array(
            
'{value}'=>$this->requiredValue,
            
'{attribute}'=>$object->getAttributeLabel($attribute),
        ));
        return 
"
if(value!=" 
. CJSON::encode($this->requiredValue) . ") {
messages.push("
.CJSON::encode($message).");
}
"
;
    }
    else
    {
        if(
$message===null)
            
$message=Yii::t('yii','{attribute} cannot be blank.');
        
$message=strtr($message, array(
            
'{attribute}'=>$object->getAttributeLabel($attribute),
        ));
        if(
$this->trim)
            
$emptyCondition = "jQuery.trim(value)==''";
        else
            
$emptyCondition = "value==''";
        return 
"
if(
{$emptyCondition}) {
messages.push("
.CJSON::encode($message).");
}
"
;
    }
}

Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента.

См. также

  • CActiveForm::enableClientValidation

validateAttribute() метод

protected void validateAttribute(CModel $object, string $attribute)
$object CModel валидируемый объект
$attribute строка валидируемый атрибут
Исходный код: framework/validators/CRequiredValidator.php#56 (показать)
protected function validateAttribute($object,$attribute)
{
    
$value=$object->$attribute;
    if(
$this->requiredValue!==null)
    {
        if(!
$this->strict && $value!=$this->requiredValue || $this->strict && $value!==$this->requiredValue)
        {
            
$message=$this->message!==null?$this->message:Yii::t('yii','{attribute} must be {value}.',
                array(
'{value}'=>$this->requiredValue));
            
$this->addError($object,$attribute,$message);
        }
    }
    elseif(
$this->isEmpty($value,$this->trim))
    {
        
$message=$this->message!==null?$this->message:Yii::t('yii','{attribute} cannot be blank.');
        
$this->addError($object,$attribute,$message);
    }
}

Проверяет атрибут объекта. При наличии ошибки сообщение об ошибке добавляется в объект.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CRequiredValidator

Spec-Zone.ru

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