Аннотации данных + MVC3 + Проблема культуры - PullRequest
2 голосов
/ 14 декабря 2011

У меня проблемы с работой с культурами, MVC3 и аннотациями данных.Я определил таблицу STORES в испанской базе данных (COLLATION is set for LATIN_GENERAL);, некоторые поля в SQL определены как DECIMAL(18,2) NOT NULL.В моем приложении MVC3 я уже установил культуру «es-ES» в файле web.config.Кроме того, я использую все мои представления строго типизированные.

Если я использую DataAnnotations для проверок, он автоматически добавит проверки Required field и The field must be a number.Это было бы прекрасно, за исключением одной вещи: проверка

The field must be a number заставляет меня использовать точку (.) В качестве десятичного разделителя вместо запятой (,).Итак, я не знаю, как это изменить, ни как перевести это сообщение об ошибке.Тогда я подумал, что могу заставить пользователя использовать точку вместо запятой в jquery (безобразное решение).Итак, я сделал это только для того, чтобы провести несколько тестов, и в результате я смог пройти валидацию и отлично создал объект в базе данных.

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

Что я делаю не так?

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

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

Спасибо

1 Ответ

0 голосов
/ 14 декабря 2011

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

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

...