CRequiredValidator
| Пакет | system.validators |
|---|---|
| Наследование | class CRequiredValidator » CValidator » CComponent |
| С версии | 1.0 |
| Исходный код | framework/validators/CRequiredValidator.php |
При использовании свойства 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} | строка | скрипт проверки на стороне клиента. |
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, необходимый для выполнения проверки на стороне клиента.
См. также
validateAttribute() метод
protected void validateAttribute(CModel $object, string $attribute) | ||
| $object | CModel | валидируемый объект |
| $attribute | строка | валидируемый атрибут |
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