0
從這個discussion我瞭解到,NHibernate Validator在內置驗證之後運行,這意味着在NHibernate Validator運行之前,我的Not Null屬性拋出PropertyValueException。優先考慮NHibernate驗證器對內置驗證的驗證嗎?
有沒有一種方法可以在NH建立驗證器之前運行NHV?
我想仍然能夠驗證像香草NHV那樣的所有髒實體。
從這個discussion我瞭解到,NHibernate Validator在內置驗證之後運行,這意味着在NHibernate Validator運行之前,我的Not Null屬性拋出PropertyValueException。優先考慮NHibernate驗證器對內置驗證的驗證嗎?
有沒有一種方法可以在NH建立驗證器之前運行NHV?
我想仍然能夠驗證像香草NHV那樣的所有髒實體。
您可以在nhibernate之外驗證您自己的實體。這裏是一個例子:
ValidatorEngine validatorEngine = new ValidatorEngine();
var nhvConfiguration = new FluentConfiguration();
nhvConfiguration.SetDefaultValidatorMode(ValidatorMode.UseExternal)
.Register(Assembly.Load("Namespace_Where_Validations_Are_Located")
.ValidationDefinitions())
.IntegrateWithNHibernate
.AvoidingDDLConstraints()
.And
.AvoidingListenersRegister();
validatorEngine.Configure(nhvConfiguration);
InvalidValue[] invalidValues = validatorEngine.Validate(entityToValidate);
這是否驗證'entityToValidate'的對象圖中的所有髒項目? – Jonn 2012-03-12 00:17:38
我不相信它,但你可以測試,以確保。 – 2012-03-12 23:46:43
已檢查。它不(或者我一定在做錯事)。我不能實現這一點,因爲它跳過了我想驗證的其他一些髒對象。 – Jonn 2012-03-13 00:19:32