您的位置:首页 > 产品设计 > UI/UE

.net使用FluentValidation进行服务端验证。

2015-07-12 11:16 381 查看
背景

最近使用asp.mvc 做一个在线口语系统项目,在服务端验证问题遇到了一些小问题。

自己根据数据库表user定义一个数据库表实体对象UserDbEntity

[HttpPost]
public ActionResult Login(UserDbEntity loginModel)
{
bool loginFlag = false;
string name = loginModel.Name;
string pwd = loginModel.Pwd;
UserLoginValidator validInstance = new UserLoginValidator();
if(!validInstance.Validate(loginModel).IsValid){
return Login();
}
var user = new UserDbEntity();

using (var scope = IocRegisterBLL.ContainerBLLComponent.BeginLifetimeScope())
{
var userBLL = scope.Resolve<UserBLL>();
loginFlag = userBLL.AdminLogin(name, pwd, out user);
}

if (loginFlag)
{
Session[C_LogOnSession] = user;
return Index();
}
else
{
return Login();
}
}


View Code
这样就能解决我在背景中碰到的问题。 如果项目中其他页面也用到到UserDbEntity,但验证规则需要个性化,你也可以另外针对UserDbEntity写另外一个Validator类。

这样就不必要对给个页面制定一个ViewModel了。

推荐在项目中使用FluentValidation进行服务端验证

FluentValidation 在个github上的地址 https://github.com/JeremySkinner/FluentValidation。FluentValidation的链式方法调用,写验证非常的流畅。可以为你在项目中写服务端验证逻辑节省不少时间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: