Страница 1 из 1

Валидация арабских дат

Добавлено: 2016.02.01, 11:59
Tsamsiyu
Не проходит валидация арабских дат с использованием intl extension-a. (Точнее не парсится дата)
Локаль установлена в ar_SA(ar-SA пробовал также), брал отсюда: http://www.w3schools.com/Tags/ref_language_codes.asp

PS: если установить lenient в true, то валидация проходит.

Re: Валидация арабских дат

Добавлено: 2016.02.01, 15:44
samdark
Это можно/нужно как-то исправить в самом фреймворке?

Re: Валидация арабских дат

Добавлено: 2016.02.02, 13:14
Tsamsiyu
Можно либо поставить проверку, что если Intl-extension не смог распарсить дату, то пробовать парсить методом, который предоставляет фреймворк, ну или добавить свойство типа enabledIntlExtension, а можно и комбинировать эти два способа.
Сейчас я, отнаследовавшись, сделал вторым способом.

Re: Валидация арабских дат

Добавлено: 2016.02.02, 13:22
lynicidn
имелось ввиду - это баг? или вы просто пишите книгу "как я валидировал арабские даты", а здесь делаете пометки, как в черновике?

Re: Валидация арабских дат

Добавлено: 2016.02.02, 13:53
Tsamsiyu
Да, это баг, но баг не совсем самого фреймворка, т.к. не парсит дату именно Intl-ext. Это скорее недоработка, которая не позволяет обойти/не учитывает этот баг.

Re: Валидация арабских дат

Добавлено: 2016.02.02, 16:49
samdark
Эх, с арабскими датами я совершенно не знаком, поэтому осознать и пофиксить не смогу. Если сделаете pull request с решением и обязательно с пояснениями (потому как в команде Yii, думаю, никто с арабскими датами не работал), будет замечательно.

Re: Валидация арабских дат

Добавлено: 2016.02.27, 02:15
Nerf
Внесу свои 5 коп. Была пара раз ситуация, когда на сервере установлен intl, но базы старые. Соответственно работать с датами через Formatter невозможно(можно, но приятного мало). Было бы удобно, чтобы был параметр, который отключает использование Intl. В идеале несколько, чтобы можно было отключить часть функционала. Например, не использовать для работы с датами, но использовать для переводов.

Re: Валидация арабских дат

Добавлено: 2016.02.27, 14:44
samdark
А обновить ICU?

Re: Валидация арабских дат

Добавлено: 2016.02.27, 22:17
Nerf
Sam Dark писал(а):А обновить ICU?
Не всегда есть такая возможность.
У вас же есть fallback'и, не вижу проблемы дать возможность сконфигурировать компонент. Тем более предугадать эту ситуацию нельзя. Что будет если кому-то опять захочется изменить часовые пояса в России?
ПС: Как вариант, конечно, можно переопределить Formatter. Но плохо(на первый взгляд), что нельзя переопределить formatDateTimeValue().

Re: Валидация арабских дат

Добавлено: 2016.02.28, 00:32
samdark
Вообще можно сделать. Кинете issue нам на GitHub?

Re: Валидация арабских дат

Добавлено: 2016.02.28, 15:36
Nerf
Sam Dark писал(а):Вообще можно сделать. Кинете issue нам на GitHub?
https://github.com/yiisoft/yii2/issues/10982