开发者

Fluent Validation vs. Data Annotations

开发者 https://www.devze.com 2023-03-22 08:26 出处:网络
What are the operative differences between these two validation packages when used for ASP.NET MVC validatation? They seem to have similar objects, all the way to their object na开发者_高级运维mes. Is

What are the operative differences between these two validation packages when used for ASP.NET MVC validatation? They seem to have similar objects, all the way to their object na开发者_高级运维mes. Is one related to another? What are their differences? In what way do these differences denote different use cases?

  • Fluent Validation (3rd party solution)
  • Data annotations (Microsoft "baked-in")


I prefer Fluent Validation:

  1. It gives me far better control of my validation rules
  2. Doing conditional validation on different properties is so much easier compared to Data Annotations
  3. It separates the validation from my view models
  4. Unit testing is far easier compared to Data Annotations
  5. It has excellent client side validation support for most standard validation rules


I clearly prefer Data Annotations because ...

  1. all validation rules can be configured in one place in code (within the model metadata class) and don't need to be repeated anywhere else.
  2. there is excellent support for client side validation (again – without repetition of validation rules!) when using Data Annotation attributes.
  3. Data Annotation attributes can be tested to ensure they're there.
  4. there are nice additional validation attributes created by the community (e.g. Data Annotations Extensions).
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号