Spec-Zone.ru › Yii 2.0

Класс yii\validators\DateValidator

Все классы | Свойства | Методы | Константы
Наследование yii\validators\DateValidator » yii\validators\Validator » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable
Подклассы yii\mongodb\validators\MongoDateValidator
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/validators/DateValidator.php

DateValidator проверяет, представляет ли атрибут дату, время или дату и время в правильном $формате.

Он также может анализировать интернационализированные даты в определённом $языке, например 12 мая 2014, когда $формат настроен для использования шаблона времени в формате ICU.

Кроме того, можно ограничить дату определённым диапазоном, используя $min и $max.

Помимо проверки даты, он также может экспортировать разобранную метку времени в удобочитаемый для машины формат, который можно настроить с помощью $timestampAttribute. Для значений, включающих информацию о времени (а не только дату), часовой пояс также будет скорректирован. Предполагается, что часовой пояс входного значения указан свойством $timeZone, а целевой часовой пояс будет UTC, когда $timestampAttributeFormat равен null (экспорт как метка времени Unix) или $timestampAttributeTimeZone в противном случае. Если вы хотите избежать преобразования часового пояса, убедитесь, что $timeZone и $timestampAttributeTimeZone одинаковы.

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

Свойство Тип Описание Определено в
$attributeNames массив Имена атрибутов. yii\validators\Validator
$attributes массив|строка Атрибуты, которые должны быть валидированы этим валидатором. yii\validators\Validator
$behaviors yii\base\Behavior[] Список поведений, присоединённых к этому компоненту. yii\base\Component
$builtInValidators массив Список встроенных валидаторов (имя => класс или конфигурация). yii\validators\Validator
$enableClientValidation логическое значение Включить валидацию на стороне клиента для этого валидатора. yii\validators\Validator
$except массив|строка Сценарии, для которых валидатор не должен применяться. yii\validators\Validator
$format строка Формат даты, которому должно соответствовать значение, подлежащее валидации. yii\validators\DateValidator
$isEmpty вызываемый объект PHP вызываемый объект, заменяющий стандартную реализацию isEmpty(). yii\validators\Validator
$locale строка Идентификатор локали, используемый для локализации разбора даты. yii\validators\DateValidator
$max целое число|строка Максимальное значение даты. yii\validators\DateValidator
$maxString строка Пользовательское значение максимального значения для отображения в сообщении об ошибке. yii\validators\DateValidator
$message строка Пользовательское сообщение об ошибке. yii\validators\Validator
$min целое число|строка Минимальное значение даты. yii\validators\DateValidator
$minString строка Пользовательское значение минимального значения для отображения в сообщении об ошибке. yii\validators\DateValidator
$on массив|строка Сценарии, к которым может применяться валидатор. yii\validators\Validator
$skipOnEmpty логическое значение Пропустить эту правило валидации, если значение атрибута равно null или пустой строке. yii\validators\Validator
$skipOnError логическое значение Пропустить это правило валидации, если для валидируемого атрибута уже есть ошибка валидации по каким-либо предыдущим правилам. yii\validators\Validator
$timeZone строка Часовой пояс, который используется для разбора значений даты и времени. yii\validators\DateValidator
$timestampAttribute строка Имя атрибута, который будет содержать результат разбора. yii\validators\DateValidator
$timestampAttributeFormat строка Формат, используемый при заполнении $timestampAttribute. yii\validators\DateValidator
$timestampAttributeTimeZone строка Часовой пояс, используемый при заполнении $timestampAttribute. yii\validators\DateValidator
$tooBig строка Пользовательское сообщение об ошибке, используемое, когда значение больше, чем $max. yii\validators\DateValidator
$tooSmall строка Пользовательское сообщение об ошибке, используемое, когда значение меньше, чем $min. yii\validators\DateValidator
$type строка Тип валидатора. yii\validators\DateValidator
$when вызываемый объект PHP вызываемый объект, результат которого определяет, следует ли применять этот валидатор. yii\validators\Validator
$whenClient строка Имя JavaScript-функции, возвращаемое значение которой определяет, следует ли применять этот валидатор на стороне клиента. yii\validators\Validator

Общедоступные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. yii\base\Component
__clone() Этот метод вызывается после создания объекта путем клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства компонента. yii\base\Component
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Component
__set() Устанавливает значение свойства компонента. yii\base\Component
__unset() Устанавливает свойство компонента в null. yii\base\Component
addError() Добавляет ошибку об указанном атрибуте в объект модели. yii\validators\Validator
attachBehavior() Присоединяет поведение к этому компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
behaviors() Возвращает список поведений, по которым должен вести себя этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Component
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Component
className() Возвращает полное квалифицированное имя этого класса. yii\base\Object
clientValidateAttribute() Возвращает JavaScript, необходимый для выполнения проверки на стороне клиента. yii\validators\Validator
createValidator() Создает объект валидатора. yii\validators\Validator
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), присоединены к этому компоненту. yii\base\Component
getAttributeNames() Возвращает очищенные имена атрибутов без символа ! в начале yii\validators\Validator
getBehavior() Возвращает объект поведения с указанным именем. yii\base\Component
getBehaviors() Возвращает все поведения, присоединённые к этому компоненту. yii\base\Component
getClientOptions() Возвращает параметры проверки на стороне клиента. yii\validators\Validator
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчик, прикрепленный к событию с указанным именем. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Component
hasProperty() Возвращает значение, указывающее, определено ли свойство для этого компонента. yii\base\Component
init() Инициализирует объект. yii\validators\DateValidator
isActive() Возвращает значение, указывающее, активен ли валидатор для данного сценария и атрибута. yii\validators\Validator
isEmpty() Проверяет, пусто ли заданное значение. yii\validators\Validator
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
trigger() Срабатывает событие. yii\base\Component
validate() Проверяет заданное значение. yii\validators\Validator
validateAttribute() Проверяет отдельный атрибут. yii\validators\DateValidator
validateAttributes() Проверяет указанный объект. yii\validators\Validator

Защищенные методы

Метод Описание Определено в
formatMessage() Форматирует сообщение с использованием I18N или простой strtr, если \Yii::$app недоступен. yii\validators\Validator
parseDateValue() Парсит строку даты в метку времени Unix. yii\validators\DateValidator
validateValue() Проверяет значение. yii\validators\DateValidator

Константы

Константа Значение Описание Определено в
TYPE_DATE 'date' Константа для указания валидации $type как значения даты, используемая для валидации с коротким форматом intl. yii\validators\DateValidator
TYPE_DATETIME 'datetime' Константа для указания валидации $type как значения даты и времени, используемая для валидации с коротким форматом intl. yii\validators\DateValidator
TYPE_TIME 'time' Константа для указания валидации $type как значения времени, используемая для валидации с коротким форматом intl. yii\validators\DateValidator

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

$format общедоступное свойство

Формат даты, которому должно соответствовать проверяемое значение. Это может быть шаблон даты и времени, как описано в руководстве ICU.

В качестве альтернативы это может быть строка, начинающаяся с php: и представляющая формат, распознаваемый классом PHP DateTime. См. http://php.net/manual/en/datetime.createfromformat.php для поддерживаемых форматов.

Если это свойство не задано, значение по умолчанию будет получено из Yii::$app->formatter->dateFormat, см. yii\i18n\Formatter::$dateFormat для получения подробностей. С версии 2.0.8 значение по умолчанию определяется из различных форматов класса форматировщика, в зависимости от значения $type:

  • если тип TYPE_DATE, значение по умолчанию будет взято из yii\i18n\Formatter::$dateFormat,
  • если тип TYPE_DATETIME, оно будет взято из yii\i18n\Formatter::$datetimeFormat,
  • а если тип TYPE_TIME, оно будет yii\i18n\Formatter::$timeFormat.

Вот некоторые примеры значений:

'MM/dd/yyyy' // date in ICU format
'php:m/d/Y' // the same date in PHP format
'MM/dd/yyyy HH:mm' // not only dates but also times can be validated

Примечание: используемые подлежащие парсеры дат различаются в зависимости от формата. Если вы используете формат ICU, и расширение PHP intl установлено, используется IntlDateFormatter для разбора входного значения. Во всех остальных случаях используется класс PHP DateTime. IntlDateFormatter имеет преимущество, что может анализировать международные даты, такие как 12. Mai 2015 или 12 мая 2014, в то время как PHP-парсер ограничен только английским языком. Однако PHP-парсер более строг в отношении входного формата, так как не примет 12.05.05 для формата php:d.m.Y, но IntlDateFormatter примет его для формата dd.MM.yyyy. Если вам необходимо использовать IntlDateFormatter, вы можете избежать этой проблемы, указав минимальную дату.

public string $format = null

$locale общественное свойство

Идентификатор языка, используемый для локализации разбора даты. Это эффективно только при установке расширения PHP intl. Если не задано, будет использован язык форматера. См. также yii\i18n\Formatter::$locale.

public string $locale = null

$max общественное свойство (доступно с версии 2.0.4)

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

См. также $tooBig для настраиваемого сообщения, используемого при превышении максимального значения даты.

public integer|string $max = null

$maxString общественное свойство (доступно с версии 2.0.4)

Пользовательское значение верхнего предела для отображения в сообщении об ошибке. Если это свойство равно null, будет использоваться значение $max (перед анализом).

public string $maxString = null

$min общественное свойство (доступно с версии 2.0.4)

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

См. также $tooSmall для настраиваемого сообщения, используемого при превышении минимального значения даты.

public integer|string $min = null

$minString общественное свойство (доступно с версии 2.0.4)

Пользовательское значение нижнего предела для отображения в сообщении об ошибке. Если это свойство равно null, будет использоваться значение $min (перед анализом).

public string $minString = null

$timeZone общественное свойство

Часовой пояс для разбора значений даты и времени. Это может быть любое значение, которое может быть передано в date_default_timezone_set(), например UTC, Europe/Berlin или America/Chicago. Обратитесь к справочнику php для доступных часовых поясов. Если это свойство не задано, будет использован часовой пояс yii\base\Application::$timeZone.

public string $timeZone = null

$timestampAttribute общественное свойство

Имя атрибута, который получит результат разбора. Когда это свойство не равно null и валидация успешна, указанный атрибут получит результат разбора.

Это может быть тот же атрибут, что и валидируемый. Если это так, исходное значение будет перезаписано значением отметки времени после успешной валидации.

Обратите внимание, что при использовании этого свойства входное значение будет преобразовано в метку времени Unix, которая по определению находится в UTC, поэтому будет выполнено преобразование из входного часового пояса в UTC. При определении $timestampAttributeFormat вы можете контролировать преобразование, задав $timestampAttributeTimeZone на другое значение, отличное от 'UTC'.

См. также:

  • $timestampAttributeFormat
  • $timestampAttributeTimeZone
public string $timestampAttribute = null

$timestampAttributeFormat общественное свойство (доступно с версии 2.0.4)

Формат, используемый при заполнении $timestampAttribute. Формат может быть указан так же, как и для $format.

Если не задано, $timestampAttribute получит метку времени Unix. Если $timestampAttribute не задан, это свойство будет проигнорировано.

См. также:

  • $format
  • $timestampAttribute
public string $timestampAttributeFormat = null

$timestampAttributeTimeZone общественное свойство (доступно с версии 2.0.4)

Часовой пояс, используемый при заполнении $timestampAttribute. По умолчанию UTC.

Это может быть любое значение, которое может быть передано в date_default_timezone_set(), например UTC, Europe/Berlin или America/Chicago. Обратитесь к справочнику php для доступных часовых поясов.

Если $timestampAttributeFormat не задан, это свойство будет проигнорировано.

См. также $timestampAttributeFormat.

public string $timestampAttributeTimeZone = 'UTC'

$tooBig общественное свойство (доступно с версии 2.0.4)

Определяемое пользователем сообщение об ошибке, используемое, когда значение больше, чем $max.

public string $tooBig = null

$tooSmall общественное свойство (доступно с версии 2.0.4)

Определяемое пользователем сообщение об ошибке, используемое, когда значение меньше, чем $min.

public string $tooSmall = null

$type общественное свойство (доступно с версии 2.0.8)

Тип валидатора. Указывает, должно ли проверяться значение даты, времени или даты и времени. Это свойство влияет на значение по умолчанию $format и также устанавливает правильное поведение, когда $format является одним из коротких форматов intl, short, medium, long, или full.

Это эффективно только при установке расширения PHP intl.

Это свойство может быть установлено в следующие значения:

  • TYPE_DATE - (по умолчанию) для проверки только значений даты, это означает, что только значения, не включающие диапазон времени, являются допустимыми.
  • TYPE_DATETIME - для проверки значений даты и времени, содержащих как часть даты, так и часть времени.
  • TYPE_TIME - для проверки значений времени, не содержащих информации о дате.
public string $type = self::TYPE_DATE

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

init() public метод

Инициализирует объект.

Этот метод вызывается в конце конструктора после инициализации объекта заданными настройками.

public void init ( )

parseDateValue() защищённый метод

Парсит строку даты в метку времени UNIX

protected integer|false parseDateValue ( $value )
$value string

Строка, представляющая дату

return integer|false

Метка времени UNIX или false при ошибке.

validateAttribute() public метод

Валидирует отдельный атрибут.

Дочерние классы должны реализовать этот метод для обеспечения фактической логики валидации.

public void validateAttribute ( $model, $attribute )
$model yii\base\Model

Модель данных, подлежащая валидации

$attribute string

Имя атрибута, подлежащего валидации.

validateValue() защищённый метод

Валидирует значение.

Класс валидатора может реализовать этот метод для поддержки валидации данных вне контекста модели данных.

protected array|null validateValue ( $value )
$value mixed

Значение данных, подлежащее валидации.

return array|null

Сообщение об ошибке и параметры, которые необходимо вставить в сообщение об ошибке. Должен быть возвращен Null, если данные валидны.

throws yii\base\NotSupportedException

если валидатор не поддерживает валидацию данных без модели

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-validators-datevalidator.html

Spec-Zone.ru

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