是否有可能与NHibernate验证器得到一个验证器,将验证一个或其他属性?在下面的例子中,名字或姓氏是必需的。NHibernate验证器的一个值或另一个
[OneOrOther("Group")]
public string FirstName {get; set; }
[OneOrOther("Group")]
public string Surname {get; set; }
是否有可能与NHibernate验证器得到一个验证器,将验证一个或其他属性?在下面的例子中,名字或姓氏是必需的。NHibernate验证器的一个值或另一个
[OneOrOther("Group")]
public string FirstName {get; set; }
[OneOrOther("Group")]
public string Surname {get; set; }
我认为this post(http://devlicio.us/blogs/billy_mccafferty/archive/2009/07/30/writing-a-custom-nhibernate-class-validator.aspx)可以在这种情况下很好地应用。我认为唯一的区别是样本使用互斥条件(一个或另一个,但不是两个 - XOR)。
是的,你可以在对象上创建一个属性测试条件是否成立,然后使用NHibernate的装饰之一,以检查它是有效的,即如此。
从文档:
AssertTrue性能检查,该方法的计算结果为真(可用于在代码中表达,而不是注解约束)
这是迄今为止实现你有特殊问题的最简单方法如上所述,您可以创建一个自定义的课程级别验证程序,但嘿它可能比您需要的更多的工作。