Валидация даты. Чудеса?
-
- Сообщения: 30
- Зарегистрирован: 2012.01.18, 03:29
Валидация даты. Чудеса?
Здравствуйте, уважаемые yii-шники. В кратце, есть таблица в базе, стандартная для блога, в общем-то. Есть там поле time, тип поля - datetime (MySQL).
Задал я в правилах валидации псевдовалидатор default и валидатор date. Формат у них одинаковый:
Однако, если я поле оставляю при создании записи пустым, и вызываю апдейт - то вываливается ошибка валидации.
Как это объяснить? Кто-нибудь сталкивался с такими вещами?
Задал я в правилах валидации псевдовалидатор default и валидатор date. Формат у них одинаковый:
Однако, если я поле оставляю при создании записи пустым, и вызываю апдейт - то вываливается ошибка валидации.
Как это объяснить? Кто-нибудь сталкивался с такими вещами?
Re: Валидация даты. Чудеса?
Хм, воспроизвёл с Y-m-d и с убранным format у `date` . Походу это баг. $timestamp = $this->parseDateValue($value) возвращает false...
Последний раз редактировалось yiijeka 2014.10.02, 09:59, всего редактировалось 1 раз.
Re: Валидация даты. Чудеса?
yiijeka, пили issue
Re: Валидация даты. Чудеса?
Устал уже... разобраться надо.
Так не работает
Работает. Застопаривается, так как подключено extension_loaded('intl') и код $formatter = new IntlDateFormatter($this->locale, $this->_dateFormats[$format], IntlDateFormatter::NONE, $this->timeZone); в ядре возвращает уже другое значение.
Код: Выделить всё
[['date'], 'default', 'value' => date('Y-m-d')],
[['date'], 'date'],
Код: Выделить всё
[['date'], 'default', 'value' => date('Y-m-d')],
[['date'], 'date', 'format' => 'Y-m-d'],
Последний раз редактировалось yiijeka 2014.10.02, 10:10, всего редактировалось 1 раз.
Re: Валидация даты. Чудеса?
Код: Выделить всё
$formatter = new IntlDateFormatter($this->locale, $this->_dateFormats[$format], IntlDateFormatter::NONE, $this->timeZone);
var_dump($format,$this->_dateFormats);die();
string(6) "medium" array(4) { ["short"]=> int(3) ["medium"]=> int(2) ["long"]=> int(1) ["full"]=> int(0) }
Re: Валидация даты. Чудеса?
Ёптель не следил за этим обновлением. Но у меня теперь валидатор ['date'], 'date',не отрабатывает, нужно явно указывать формат 'format' => 'Y-m-d'.
Последний раз редактировалось yiijeka 2014.10.02, 10:09, всего редактировалось 1 раз.
Re: Валидация даты. Чудеса?
EvgeniyRRU у вас последняя версия yii2 ? rc?
Re: Валидация даты. Чудеса?
Без date() ведь, да? Просто строкой?'format' => date('Y-m-d')
Re: Валидация даты. Чудеса?
Да, везде поправил, опечатка.
Re: Валидация даты. Чудеса?
Аа, так format надо в ICU формате писать же! Разве нет? А если php-формат, то начинать с php:
http://www.yiiframework.com/doc-2.0/yii ... mat-detail
http://www.yiiframework.com/doc-2.0/yii ... mat-detail
Re: Валидация даты. Чудеса?
Код: Выделить всё
[['date'], 'default', 'value' => date('Y-m-d H:i:s')],
[['date'], 'date', 'format' => 'Y-m-d H:m:s'],
Re: Валидация даты. Чудеса?
HQ0 да так и есть, наверное issue не буду. Просто date('Y-m-d H:i:s') нужно заменить на ...
Re: Валидация даты. Чудеса?
Конечно не стоит, если работает так, как описано в доке.
Re: Валидация даты. Чудеса?
Всё ничего не нужно заменять. Нужно 'format' в ICU вводить.
Re: Валидация даты. Чудеса?
Этих форматов даты, у каждой функции свой, столько букв, каждый раз лезу в мануал, чтобы посмотреть как задать формат. Ужас.
Re: Валидация даты. Чудеса?
Я тоже не особо привык, но раз и многие js-либы используют этот формат — стоит изучить
-
- Сообщения: 30
- Зарегистрирован: 2012.01.18, 03:29
Re: Валидация даты. Чудеса?
Да, последняя. Слил через Composer в воскресенье, сразу после того как Sam Dark анонсировал его релиз у себя в блоге (я на Rss-ку подписан).yiijeka писал(а):EvgeniyRRU у вас последняя версия yii2 ? rc?
Так как рекомендуете поступать? По разному писать форматы?
Re: Валидация даты. Чудеса?
Можете в одном, но тогда в начале пишите php:Y-m-d H:i:s . Как душе угодно
Re: Валидация даты. Чудеса?
Можно так
[['date_registrations','date_nn'], 'date', 'format' => 'y-m-d'],
если 2016-08-05
Y!=y
[['date_registrations','date_nn'], 'date', 'format' => 'y-m-d'],
если 2016-08-05
Y!=y
Re: Валидация даты. Чудеса?
Извиняюсь за флуд, не подскажете ли, какую цветовую схему вы используете в IDE (та что на скриншоте)?
Осторожно! Вы общаетесь с новичком