在命令验证中进行数据验证是最佳做法吗?

时间:2017-08-18 11:35:33

标签: c# asp.net asp.net-mvc validation command

我正在使用SpecExpress进行命令验证。(命令验证在转到控制器之前验证命令。)

对于一个简单的案例,我只是验证了长度,是否需要,正则表达式等,但现在的情况如下:

检查命令属性,例如。 “UserName”是否在我的数据库中, 对于这种情况,使用存储库并检查数据库中的数据与否, 如果存在则失败或成功。

this.Check(ur => ur.UserName).Required().Expect(
            (x, y) =>
                {
                    var isExists = userService.isExists(x.UserName);
                    return !isExists;
                }, 
            "User already exist");

我的问题是,在命令验证中进行数据验证是最佳做法吗? 或者我只是以传统方式执行此操作,例如在控制器或服务中,我们检查用户是否在数据库中,然后转到下一步或抛出异常。

1 个答案:

答案 0 :(得分:1)

我们(我的团队)在命令验证时进行正常的验证检查,所有类型的数据验证都转到控制器或服务。