CBooleanValidator
| Пакет | system.validators |
|---|---|
| Наследование | class CBooleanValidator » CValidator » CComponent |
| Исходный код | framework/validators/CBooleanValidator.php |
При использовании свойства message для определения пользовательского сообщения об ошибке, сообщение может содержать дополнительные заполнитель, которые будут заменены фактическим содержимым. В дополнение к заменимому значению "{attribute}", которое используется всеми валидаторами (см. CValidator), CBooleanValidator позволяет использовать следующие заполнитель:
- {true}: заменяется значением, представляющим истинное значение trueValue.
- {false}: заменяется значением, представляющим ложное значение falseValue.
Общественные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| allowEmpty | boolean | указывает, может ли значение атрибута быть пустым или null. | CBooleanValidator |
| attributes | array | список атрибутов, которые нужно валидировать. | CValidator |
| builtInValidators | array | список встроенных валидаторов (имя=>класс) | CValidator |
| enableClientValidation | boolean | выполнять ли валидацию на стороне клиента. | CValidator |
| except | array | список сценариев, для которых валидатор не должен применяться. | CValidator |
| falseValue | mixed | значение, представляющее ложное значение. | CBooleanValidator |
| message | string | пользовательское сообщение об ошибке. | CValidator |
| on | array | список сценариев, для которых валидатор должен применяться. | CValidator |
| safe | boolean | являются ли атрибуты, указанные с этим валидатором, безопасными для массового назначения. | CValidator |
| skipOnError | boolean | пропустить ли данную правило валидации, если для текущего атрибута уже есть ошибка валидации. | CValidator |
| strict | boolean | строгое сравнение с trueValue и falseValue. | CBooleanValidator |
| trueValue | mixed | значение, представляющее истинное значение. | CBooleanValidator |
Общественные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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, необходимый для выполнения валидации на стороне клиента. | CBooleanValidator |
| 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 |
| validateValue() | Проверяет статическое значение, чтобы убедиться, что оно является допустимым булевым значением. | CBooleanValidator |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| addError() | Добавляет ошибку об указанном атрибуте в активную запись. | CValidator |
| isEmpty() | Проверяет, является ли данное значение пустым. | CValidator |
| validateAttribute() | Проверяет атрибут объекта. | CBooleanValidator |
Подробности свойств
allowEmpty свойство
public boolean $allowEmpty;
указывает, может ли значение атрибута быть null или пустым. По умолчанию значение true, означающее, что если атрибут пустой, он считается допустимым.
falseValue свойство
public mixed $falseValue;
значение, представляющее ложное значение. По умолчанию '0'.
strict свойство
public boolean $strict;
указывает, является ли сравнение с trueValue и falseValue строгим. Если значение true, то значение и тип атрибута должны совпадать со значениями trueValue или falseValue. По умолчанию false, что означает, что нужно только сопоставить значение.
trueValue свойство
public mixed $trueValue;
значение, представляющее истинное значение. По умолчанию '1'.
Подробное описание методов
clientValidateAttribute() метод (доступен с версии v1.1.7)
public string clientValidateAttribute(CModel $object, string $attribute) | ||
| $object | CModel | объект данных, который проходит валидацию |
| $attribute | string | имя атрибута, который необходимо валидировать. |
| {return} | string | скрипт проверки на стороне клиента. |
public function clientValidateAttribute($object,$attribute)
{
$message=$this->message!==null ? $this->message : Yii::t('yii','{attribute} must be either {true} or {false}.');
$message=strtr($message, array(
'{attribute}'=>$object->getAttributeLabel($attribute),
'{true}'=>$this->trueValue,
'{false}'=>$this->falseValue,
));
return "
if(".($this->allowEmpty ? "jQuery.trim(value)!='' && " : '')."value!=".CJSON::encode($this->trueValue)." && value!=".CJSON::encode($this->falseValue).") {
messages.push(".CJSON::encode($message).");
}
";
}
Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента.
См. также
validateAttribute() метод
protected void validateAttribute(CModel $object, string $attribute) | ||
| $object | CModel | валидируемый объект |
| $attribute | string | валидируемый атрибут |
protected function validateAttribute($object,$attribute)
{
$value=$object->$attribute;
if($this->allowEmpty && $this->isEmpty($value))
return;
if(!$this->validateValue($value))
{
$message=$this->message!==null?$this->message:Yii::t('yii','{attribute} must be either {true} or {false}.');
$this->addError($object,$attribute,$message,array(
'{true}'=>$this->trueValue,
'{false}'=>$this->falseValue,
));
}
}
Проверяет атрибут объекта. Если обнаружена ошибка, сообщение об ошибке добавляется к объекту.
validateValue() метод (доступен с версии v1.1.17)
public boolean validateValue(mixed $value) | ||
| $value | mixed | валидируемое значение |
| {return} | boolean | является ли значение допустимым boolean |
public function validateValue($value)
{
if ($this->strict)
return $value===$this->trueValue || $value===$this->falseValue;
else
return $value==$this->trueValue || $value==$this->falseValue;
}
Проверяет статическое значение на предмет того, является ли оно допустимым boolean. Этот метод предоставлен для того, чтобы вы могли вызывать его напрямую, не проходя через механизм правила валидации модели.
Обратите внимание, что этот метод не учитывает свойство allowEmpty.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CBooleanValidator