- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
public ActionResult Register(RegisterInformation ri, string myCaptcha, HttpPostedFileBase image)
{
if (ri.Name == null) ModelState.AddModelError("my", "Введите имя");
if (ri.Name != null && ri.Name.Length > 32) ModelState.AddModelError("my", "Слишком длинное имя, максимум 32 символа");
if (ri.Password == null) ModelState.AddModelError("my", "Введите пароль");
if (ri.Password != null && ri.Password.Length > 32) ModelState.AddModelError("my", "Слишком длинный пароль, максимум 32 символа");
if (ri.Email == null) ModelState.AddModelError("my", "Введите адрес почты");
if (ri.Email != null && ri.Email.Length > 32) ModelState.AddModelError("my", "Слишком длинная почта, максимум 32 символа");
if (ri.Phone == null) ModelState.AddModelError("my", "Введите телефон");
if (ri.Captcha == null) ModelState.AddModelError("my", "Введите символы с картинки");
if (ri.Email != null && !IsValid.Mail(ri.Email)) ModelState.AddModelError("my", "Невалидный email");
long phone;
if (!long.TryParse(ri.Phone, out phone)) ModelState.AddModelError("my", "Некорректный формат телефона");
if (ri.Captcha != null&&!CaptchaHelper.VerifyAndExpireSolution(HttpContext, myCaptcha, ri.Captcha)) ModelState.AddModelError("my", "Неверно введены символы с картинки");
if (ModelState.IsValid)
{
...
}
bober_maniac 23.10.2010 18:03 # +3
Lure Of Chaos 23.10.2010 21:58 # +1
HIMen 23.10.2010 22:51 # +2
И получаем сразу проверку и на клиенте, и на сервере
Lure Of Chaos 23.10.2010 22:53 # +2
iqorek 24.10.2010 17:39 # +2
>[StringLength(32, ErrorMessage = "Не длиннее 32 символов")]
оно появилось недавно, 3.5 сп1, возможно они пишут еще на предыдущей версии фреймворка.
сам код не так что бы и говно, видно что программер "не первый год женат" и знает о патернах программирования.
wall 08.11.2010 13:05 # +2
asomov 29.03.2011 16:37 # 0
http://haacked.com/archive/2009/12/12/localizing-aspnetmvc-validation.aspx