关于asp.net mvc validation

验证工作交给谁,service、controller、model?

交给 service 比如:添加用户

UserModel(UserName,Password)

UserController Add(UserModel user) 

UserService Add(UserModel user) 

///controller add 时 调用 UserService Add
UserController Add(UserModel user) 

{

try

{

UserService Add(UserModel user) ;

}

catch(RulesException ex)

{
//这里只能catch到RulesException 
ex.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 里

posted @ 2010-10-25 16:37  liuwei0514  Views(195)  Comments(0Edit  收藏  举报