Spec-Zone.ru › Yii 1.1

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
CDateValidator проверяет, является ли атрибут датой, временем или датой и временем.

Установив свойство 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 строка валидируемый атрибут
Исходный код: framework/validators/CDateValidator.php#49 (показать)
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

Spec-Zone.ru

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