Dav*_*idS 26 validation fluentvalidation-2.0 asp.net-mvc-3
在哪种情况下你会选择FluentValidation(FV)而不是ASP.NET MVC 3方式?
FV相对于MVC有什么优势?我意识到,对于后者,我们必须编写更多的代码,并且可以使用数据注释来丢弃代码.而且,使用FV编写自定义验证似乎比使用MVC更容易.但是,使用MVC可以使用数据注释并插入jQuery验证.
那么你认为什么会让你选择一个而不是另一个呢?有没有你甚至可以使用两者的情况?
Ste*_*kes 31
流畅验证是设置专用验证器对象的一种方法,当您希望将验证逻辑与业务逻辑分开时,可以使用这些对象.面向方面编程(AOP)范例可以分离系统内的横切关注点,验证就是这样一个问题.分离验证有助于清理域代码并使其更具凝聚力,并为您提供一个查找验证逻辑的位置.
MVC注释驱动的验证是一种非常"便宜"的方式,可以在应用程序中获得一些基本验证,而无需创建专用验证器对象的麻烦,创建一个验证系统来组织它们并将它们全部插入.设置非常简单,但可以使您的域对象不那么干净.
对于可以使用注释处理所有验证逻辑的小型系统,我建议只使用注释,因为它们很容易设置.对于更大,更复杂的系统,我建议使用验证器对象分离验证问题.
我个人喜欢使用这两种方法:向ViewModel类添加验证属性(这意味着注释不会使我的域对象混乱),以及在我的域层中具有专用的验证器对象.这是一个少量的重复,但使用注释是如此快速和简单,我觉得值得额外的维护成本.
| 归档时间: |
|
| 查看次数: |
8171 次 |
| 最近记录: |