我正在开发一个验证助手类,它将在 application 对象的实例上应用一些验证规则。 我发现了有关 Hibernate Validator 的问题,但是C#呢?
答案 0 :(得分:2)
在我目前的项目中,我们使用的是Framwork:http://fluentvalidation.codeplex.com/
它可以与Repository-和Specification-Pattern以及Entity Framework完美配合使用。在这里查找有关这些信息...... https://stackoverflow.com/questions/3175/repository-pattern-tutorial-in-c-sharp
答案 1 :(得分:2)
作为最佳做法,您应该使用System.ComponentModel.DataAnnotation
向您的模型/实体声明验证规则 - 这不会烘焙验证的实施,这总是好的。
然后使用验证框架并不是一个困难的选择,取决于您使用的其他技术。例如,如果您使用MVC,那么它具有内置机制,或者如果您使用EF,那么它将为您执行此操作。
示例:
公共课护理治疗 {
[DataType(DataType.Time)]
public DateTime? SomeDate { get; set; }
[StringLength(500, ErrorMessage = "This field may not be longer than 500 characters.")]
public string LongText{ get; set; }
}
答案 2 :(得分:0)
答案可能取决于框架。例如,如果使用WPF,那么您可以实现IDataErrorInfo接口,或者在绑定中抛出异常并使用ValidatesOnExceptions。