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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用IValidatableObject?

如何使用IValidatableObject?

C#
繁華開(kāi)滿天機(jī) 2019-06-23 16:56:14
如何使用IValidatableObject?我明白IValidatableObject用于驗(yàn)證對(duì)象的方式,讓我們彼此比較屬性。我仍然希望有一些屬性來(lái)驗(yàn)證單個(gè)屬性,但是在某些情況下,我想忽略某些屬性上的失敗。我是否試圖在下面的情況下不正確地使用它?如果不是,我如何實(shí)現(xiàn)這一點(diǎ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貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個(gè)贊

在驗(yàn)證對(duì)象時(shí),在Validator.ValidateObject中應(yīng)用以下進(jìn)程:

  1. 驗(yàn)證屬性級(jí)屬性
  2. 如果任何驗(yàn)證器無(wú)效,則中止返回失敗的驗(yàn)證。

  3. 驗(yàn)證對(duì)象級(jí)別的屬性。
  4. 如果任何驗(yàn)證器無(wú)效,則中止返回失敗的驗(yàn)證。

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

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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