那里必须有一个简单的解决方案,我正在尝试在我的 DateTime 属性上使用 NHibernate Validator 属性。如果值为 null (通过[NotNull]
),我希望它验证失败。当我提交一个空值时,它会被转换为1/1/0001 12:00:00 AM
NHibernate 并不会将其选为空值。我想我可以编写一个自定义验证规则,如果提交该日期,则返回 false,但肯定有一个标准的方法来解决这个问题吗?
澄清:这是一个示例类,
public class ExampleClass {
[NotNull]
public virtual DateTime MySpecialDateProperty { get; set; }
[NotNullOrEmpty]
public virtual string MyString { get; set; }
}
我有 NHibernate Validator 设置,因此在我的控制器中,我可以执行以下操作:
newExampleClass.IsValid()
如果是真的,它将保留在数据库中,如果不是,我会返回newExampleClass.ValidationResults()
当我创建 的新实例时ExampleClass
,MySpecialDateProperty
初始化为 1/1/0001 ...并且验证器不会将其作为空值。
编辑 2:我是否应该设置DateTime
为可空 ( DateTime?
),这会阻止 NHibernate 将值设置为最小 DateTime?