Аннотации данных + MVC3 + Проблема культуры
У меня проблемы с работой с культурами, MVC3 и аннотациями данных. Я определил таблицу STORES
в испанской базе данных (COLLATION is set for LATIN_GENERAL);
некоторые поля определены в SQL как DECIMAL(18,2) NOT NULL
, В моем приложении MVC3 я уже установил культуру "es-ES" в файле web.config. Кроме того, я использую все свои взгляды строго типизированные.
Если я использую Data Annotations для проверок, он автоматически добавит Required field
а также The field must be a number
валидация. Это было бы прекрасно, за исключением одного:
The field must be a number
проверка заставляет меня использовать точку (.) в качестве десятичного разделителя вместо запятой (,). Итак, я не знаю, как это изменить, ни как перевести это сообщение об ошибке. Тогда я подумал, что могу заставить пользователя использовать точку вместо запятой в jquery (безобразное решение). Итак, я сделал это только для того, чтобы провести несколько тестов, и в результате я получил возможность пройти валидацию и отлично создал объект в базе данных.
Но тут возникает странность: когда я редактирую тот же объект, он отображается на моей той же строго типизированной форме с запятой в качестве десятичного разделителя вместо точки. Так в чем проблема? То, что пользователь никогда не сможет представить редакцию объекта.
Что я делаю неправильно?
- Добавлено правильное сопоставление в базу данных.
- Добавлен атрибут глобализации в файле web.config.
- Я даже попробовал эту проверку MVC 3 jQuery / глобализацию числового / десятичного поля безуспешно...
Какой правильный способ сделать это?
Спасибо
1 ответ
Ну, вы можете либо отключить проверку на стороне клиента, либо применить некоторые хаки, такие как эта:
http://blog.brainnovative.com/2010/12/globalizing-aspnet-mvc-unobtrusive.html