Комментарии 13
Очень и очень вкусная фича. Вообще, декларативный подход рулит и чем больше проект — тем больше нервов и времени он сохраняет.
+1
Такое ощущение что разработчики ASP MVC вдохновляются спрингом :)
0
В самом начале есть поле Age-возраст.
Да, там есть проверка, что значение не должно быть меньше нуля. Но что если пользователь введёт туда буквы? На сколько я помню, там либо выскакивает исключение (это если значение отображается прямо на параметр контроллера, например, с типом int), либо, как в статье, там будет сообщение на английском языке, которое нет возможности изменить или вообще как-то повлиять на него.
Как тут быть, может кто-нибудь знает?
Да, там есть проверка, что значение не должно быть меньше нуля. Но что если пользователь введёт туда буквы? На сколько я помню, там либо выскакивает исключение (это если значение отображается прямо на параметр контроллера, например, с типом int), либо, как в статье, там будет сообщение на английском языке, которое нет возможности изменить или вообще как-то повлиять на него.
Как тут быть, может кто-нибудь знает?
0
попробуйте сделать как с Email — через RegExp.
0
При чём тут RegExp, в модели свойство имеет тип int, а приходит строка, поэтому MVC строку конвертирует в int. Это делается на этапе биндинга, до валидации и я просто не понимаю, как быть в таких случаях…
0
Накопал ответ:
1 – создаете в папке App_GlobalResources ресурс Messages.resx (ну или любой другой)
2 – в Application_Start() добавляете строчку: DefaultModelBinder.ResourceClassKey = «Messages»;
3 – в ресурс Messages добавляете «PropertyValueInvalid» — «Значение {0} не подходит для поля {1}»
Завтра ещё поковыряю… разберусь как именно это работает и где достать все id фраз.
1 – создаете в папке App_GlobalResources ресурс Messages.resx (ну или любой другой)
2 – в Application_Start() добавляете строчку: DefaultModelBinder.ResourceClassKey = «Messages»;
3 – в ресурс Messages добавляете «PropertyValueInvalid» — «Значение {0} не подходит для поля {1}»
Завтра ещё поковыряю… разберусь как именно это работает и где достать все id фраз.
+1
Разве этот ответ не лежал на поверхности статьи, после примера с регулярными выражениями? haacked.com/archive/2009/12/12/localizing-aspnetmvc-validation.aspx
0
DataAnnotation позволяют, в легкий способ — калька с английского.
А в общем перевод неплох, спасибо за статью.
А в общем перевод неплох, спасибо за статью.
0
Спасибо за статья. Очень полезная.
У меня возник вопрос, а как можно сделать валидацию по модели, которая является динамическим списком?
У меня возник вопрос, а как можно сделать валидацию по модели, которая является динамическим списком?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
MVC 2: Валидация модели