关于asp.net mvc validation
验证工作交给谁,service、controller、model?
交给 service 比如:添加用户
UserModel(UserName,Password) UserController Add(UserModel user) UserService Add(UserModel user) ///controller add 时 调用 UserService AddUserController Add(UserModel user) { try { UserService Add(UserModel user) ; } catch(RulesException ex) {//这里只能catch到RulesExceptionex.AddModelStateErrors(ModelState, "user");
return View(booking);
} catch(Exception ex)
{//这里catch到RulesException 以外的异常return View(booking);
} }
UserService Add(UserModel user) { try{ bool IsValid=user.Validate()); } catch(RulesException ex) { return ex; } if(IsValid==true) { try{ dal.user.add(username,password); } catch() { ~~~~ } } }UserModel 有 Validate 方法 再去验证内部的各个字段什么的~~~
具体的验证 用
asp.net mvc validation framework xVal
xVal Quick tutorial
download the v1.0 demo project.
我验证的处理方法跟事例代码不一样 他是放在充血实体类里 我放在 service 里