您更喜欢哪种方法来进行ASP.NET MVC验证?为什么? Fluent Validation? Data annotations?任何其他?Fluent验证与数据注释
回答
- 它给我的我的验证规则
- 做不同性质的条件验证更好的控制容易得多相比,数据注释
- 它分离验证从我的视图模型
- Unit testing与数据注释相比要容易得多
- 它具有优秀的客户端验证支持大多数标准验证规则
从这个更多的观点来看(http://www.webdevbros.net/2010/12/03/asp-net-mvc-fluent-validation-and-tesing /)文章:1.太多的注释让你的模型看起来很丑(类似于你的观点3)2.更好的可重用性3.更好的性能(作为不反射) – SiberianGuy
@Idsa性能点听起来很可疑,只需要在每个模型中进行一次反射,这假设一个好的实现,我不知道这个特定的实现是如何工作的。 – CodesInChaos
@CodeInChaos,看起来像你是对的。但我会保留在那里,因为我也不确定(也懒得发现)它是如何实现的。 – SiberianGuy
我明明喜欢数据注释因为......
- 所有验证规则可以在一个地方配置代码(模型元数据类中),并且不需要在任何地方重复其他。
- 当使用数据注释属性时,对客户端验证(再次 - 没有重复的验证规则!)有很好的支持。
- 数据注释属性可以是测试以确保它们在那里。
- 还有不错社区创建的其他验证属性(例如Data Annotations Extensions)。
我认为大多数这些属性都可以通过某种形式的流畅验证来实现。我不知道OP中的图书馆是否支持这一功能,但原则上这是可能的,也不是很难。 – CodesInChaos
什么是测试属性的存在点?这不是基本上重复验证规则? – Sam
@Sam:通过测试属性是否使用数据注解属性进行修饰,您不会测试属性本身的功能;你只是确保它在那里。我现在应该说,现在,两年后,我在达林身边并同意他的回答。 –
- 1. POCO实体Fluent API与数据注释
- 2. 数据注释验证
- 3. 自定义数据注释验证与客户端验证
- 4. 注释验证
- 5. Uploadify和ASP.NET数据注释/验证
- 6. 带数据注释的MVC3验证?
- 7. MVC 3数据注释关闭验证
- 8. 数据注释和WPF验证
- 9. 数据注释验证程序
- 10. 数据注释/验证和动态值
- 11. 验证使用数据的注释
- 12. 与数据注释验证方法的参数属性
- 13. 验证javax.persistance注释?
- 14. Java注释验证
- 15. 使用数据注释验证器与实体框架
- 16. 日期时间(日期和时间)与数据注释验证
- 17. jQuery验证与数据注释MVC3中不使用Unobstrusive
- 18. Silverlight的验证与数据注释不工作
- 19. ASP.NET MVC数据注释客户端验证与继承RegularExpressionAttribute
- 20. asp.net MVC 2验证文件上传与数据注释
- 21. 验证使用数据注释与多个提交按钮
- 22. 使用Spring MVC注释验证与Freemarker
- 23. 如何使用元数据类验证数据注释
- 24. 复杂的数据验证使用数据注释
- 25. 用SpringMVC注释验证 - 数据绑定的数据类型
- 26. 验证数据类型的MVC数据注释
- 27. 必填如果数据数据注释需要检查验证
- 28. 的javax验证,验证对象与注释
- 29. Spring验证与使用注释的Hibernate验证
- 30. 验证模型注释
我讨厌这个关于StackExchange的“不建设性”的东西。我很确定StackOverflow是问这类问题的最佳地点,因为这里有很多有真正经验和丰富知识的人。 – SiberianGuy
还有一点很有趣,值得注意的是,那些不具有建设性的问题通常会有很多upvotes,所以它们实际上对人有帮助。这件事有一定的问题 – Dmitry
“封闭不具有建设性”......我在下面的答案中看到大量的事实! – felickz