В самом начале есть поле Age-возраст.
Да, там есть проверка, что значение не должно быть меньше нуля. Но что если пользователь введёт туда буквы? На сколько я помню, там либо выскакивает исключение (это если значение отображается прямо на параметр контроллера, например, с типом int), либо, как в статье, там будет сообщение на английском языке, которое нет возможности изменить или вообще как-то повлиять на него.
Как тут быть, может кто-нибудь знает?
При чём тут RegExp, в модели свойство имеет тип int, а приходит строка, поэтому MVC строку конвертирует в int. Это делается на этапе биндинга, до валидации и я просто не понимаю, как быть в таких случаях…
Накопал ответ:
1 – создаете в папке App_GlobalResources ресурс Messages.resx (ну или любой другой)
2 – в Application_Start() добавляете строчку: DefaultModelBinder.ResourceClassKey = «Messages»;
3 – в ресурс Messages добавляете «PropertyValueInvalid» — «Значение {0} не подходит для поля {1}»
Завтра ещё поковыряю… разберусь как именно это работает и где достать все id фраз.
Именно там я это и нашёл…
а в вашем топике как-то не получилось :)
Либо я никогда не читаю курсив, либо курсив случился уже после того, как я прочитал.
Прости меня, jeje ))
MVC 2: Валидация модели