CDateValidator
| Пакет | system.validators |
|---|---|
| Наследование | класс CDateValidator » CValidator » CComponent |
| С момента | 1.1.7 |
| Версия | $Id: CDateValidator.php 2799 2011-01-01 19:31:13Z qiang.xue $ |
| Исходный код | framework/validators/CDateValidator.php |
Установив свойство format, можно указать, в каком формате должна быть дата. Если заданное значение даты не соответствует формату, атрибут считается недействительным.
Свойства общедоступные
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| allowEmpty | boolean | можно ли значение атрибута установить в null или пустое значение. | CDateValidator |
| attributes | array | список атрибутов, которые необходимо валидировать. | CValidator |
| builtInValidators | array | список встроенных валидаторов (имя=>класс) | CValidator |
| enableClientValidation | boolean | выполнять ли проверку на стороне клиента. | CValidator |
| except | array | список сценариев, для которых валидатор не должен применяться. | CValidator |
| format | mixed | шаблон формата, которому должно соответствовать значение даты. | CDateValidator |
| message | string | пользовательское сообщение об ошибке. | CValidator |
| on | array | список сценариев, для которых должен применяться валидатор. | CValidator |
| safe | boolean | указывает, являются ли атрибуты, указанные с этим валидатором, безопасными для массового назначения. | CValidator |
| skipOnError | boolean | пропускать ли эту валидацию, если для текущего атрибута уже есть ошибка проверки. | CValidator |
| timestampAttribute | string | имя атрибута, который получит результат разбора. | CDateValidator |
Методы общедоступные
| Метод | Описание | Определено |
|---|---|---|
| __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, необходимый для проверки на стороне клиента. | CValidator |
| 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() | Проверяет атрибут объекта. | CDateValidator |
Подробное описание свойств
allowEmpty свойство
public boolean $allowEmpty;
указывает, можно ли значение атрибута установить в null или пустое значение. По умолчанию true, что означает, что если атрибут пуст, он считается валидным.
format свойство
public mixed $format;
шаблон формата, которому должно соответствовать значение даты. Это может быть строка или массив, представляющий несколько форматов. По умолчанию 'MM/dd/yyyy'. Подробности о том, как указать формат даты, см. в CDateTimeParser.
timestampAttribute свойство
public string $timestampAttribute;
имя атрибута, который получит результат парсинга. Если этот свойство не null, и валидация успешна, атрибут с указанным именем получит результат парсинга.
Подробное описание методов
validateAttribute() метод
protected void validateAttribute(CModel $object, string $attribute) | ||
| $object | CModel | валидируемый объект |
| $attribute | строка | валидируемый атрибут |
protected function validateAttribute($object,$attribute)
{
$value=$object->$attribute;
if($this->allowEmpty && $this->isEmpty($value))
return;
$valid=false;
// reason of array checking is explained here: https://github.com/yiisoft/yii/issues/1955
if(!is_array($value))
{
$formats=is_string($this->format) ? array($this->format) : $this->format;
foreach($formats as $format)
{
$timestamp=CDateTimeParser::parse($value,$format,array('month'=>1,'day'=>1,'hour'=>0,'minute'=>0,'second'=>0));
if($timestamp!==false)
{
$valid=true;
if($this->timestampAttribute!==null)
$object->{$this->timestampAttribute}=$timestamp;
break;
}
}
}
if(!$valid)
{
$message=$this->message!==null?$this->message : Yii::t('yii','The format of {attribute} is invalid.');
$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/CDateValidator