第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用IValidatableObject?

如何使用IValidatableObject?

C#
繁華開滿天機 2019-06-23 16:56:14
如何使用IValidatableObject?我明白IValidatableObject用于驗證對象的方式,讓我們彼此比較屬性。我仍然希望有一些屬性來驗證單個屬性,但是在某些情況下,我想忽略某些屬性上的失敗。我是否試圖在下面的情況下不正確地使用它?如果不是,我如何實現(xiàn)這一點?public class ValidateMe : IValidatableObject{     [Required]     public bool Enable { get; set; }     [Range(1, 5)]     public int Prop1 { get; set; }     [Range(1, 5)]     public int Prop2 { get; set; }     public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)     {         if (!this.Enable)         {             /* Return valid result here.              * I don't care if Prop1 and Prop2 are out of range              * if the whole object is not "enabled"              */         }         else         {             /* Check if Prop1 and Prop2 meet their range requirements here              * and return accordingly.              */          }     }}
查看完整描述

3 回答

?
慕虎7371278

TA貢獻1802條經(jīng)驗 獲得超4個贊

在驗證對象時,在Validator.ValidateObject中應(yīng)用以下進程:

  1. 驗證屬性級屬性
  2. 如果任何驗證器無效,則中止返回失敗的驗證。

  3. 驗證對象級別的屬性。
  4. 如果任何驗證器無效,則中止返回失敗的驗證。

  5. 如果桌面框架上的對象實現(xiàn)了IValidatableObject,那么調(diào)用它的驗證方法并返回任何失敗

這表明,您要做的工作不會成功,因為驗證將在步驟2處中止。您可以嘗試創(chuàng)建從內(nèi)置屬性繼承的屬性,并在執(zhí)行正常驗證之前(通過接口)專門檢查是否存在啟用的屬性?;蛘撸梢詫⒂糜隍炞C實體的所有邏輯放在Validate方法。


查看完整回答
反對 回復 2019-06-23
  • 3 回答
  • 0 關(guān)注
  • 866 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號