Аннотации данных + 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 (безобразное решение). Итак, я сделал это только для того, чтобы провести несколько тестов, и в результате я получил возможность пройти валидацию и отлично создал объект в базе данных.

Но тут возникает странность: когда я редактирую тот же объект, он отображается на моей той же строго типизированной форме с запятой в качестве десятичного разделителя вместо точки. Так в чем проблема? То, что пользователь никогда не сможет представить редакцию объекта.

Что я делаю неправильно?

  1. Добавлено правильное сопоставление в базу данных.
  2. Добавлен атрибут глобализации в файле web.config.
  3. Я даже попробовал эту проверку MVC 3 jQuery / глобализацию числового / десятичного поля безуспешно...

Какой правильный способ сделать это?

Спасибо

1 ответ

Ну, вы можете либо отключить проверку на стороне клиента, либо применить некоторые хаки, такие как эта:

http://blog.brainnovative.com/2010/12/globalizing-aspnet-mvc-unobtrusive.html

Другие вопросы по тегам