Должно быть простое решение, я пытаюсь использовать атрибуты NHibernate Validator в моих свойствах DateTime. Если значение равно нулю (через [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
значение nullable (DateTime?
), что помешает NHibernate установить минимальное значение DateTime?