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

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

如何使用 RegularExpressionAttribute 返回失敗正則表達(dá)式的字符串

如何使用 RegularExpressionAttribute 返回失敗正則表達(dá)式的字符串

C#
jeck貓 2022-11-13 13:56:04
我編寫了有效的正則表達(dá)式,并返回錯(cuò)誤消息供用戶查看。在我的例子中,我正在驗(yàn)證一個(gè)字符串?dāng)?shù)組(電子郵件),我希望用戶知道哪個(gè)字段失敗了,而不僅僅是一條通用消息。有沒有辦法返回失敗的字符串?我可以編寫自己的正則表達(dá)式處理系統(tǒng),該系統(tǒng)將遍歷字符串并返回正則表達(dá)式失敗的那些。不過確實(shí)感覺有點(diǎn)不對(duì)勁,因?yàn)?.net 讓我能夠在我的模型上執(zhí)行正則表達(dá)式。如果它失敗了,也許我弄錯(cuò)了模型正則表達(dá)式的功能。它失敗。而且我只能知道哪個(gè)模型失敗了,而不是哪個(gè)特定對(duì)象。我查看了以下文檔: https ://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.dataannotations.regularexpressionattribute?view=netframework-4.7.2但是,我找不到任何返回對(duì)象的選項(xiàng)。但可能忽略了它。    [Display(Name = "Admin Emails")]    [RegularExpression(@"[a-z0-9!#$%&' * +/=?^ _`{|}~-]+(?:\.[a-z0-     9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-     9](?:[a-z0-9-]*[a-z0-9])?",    ErrorMessage = "Admin needs a valid email")]    public List<string> AdminEmails { get; set; }我的控制器只是檢查模型        if (!ModelState.IsValid)        {            return BadRequest(ModelState);        }我想要的是返回類似“admin@admin 需要是有效電子郵件”的錯(cuò)誤消息
查看完整描述

1 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

如果我們創(chuàng)建一個(gè)自定義屬性,如下所示:


 public class EmailsCustomAttribute : ValidationAttribute

    {

        public EmailsCustomAttribute(string pattern)

        {

            this.Pattern = pattern;

        }


        public string Pattern { get; }


        protected override ValidationResult IsValid(object value, ValidationContext validationContext)

        {

            Regex regex = new Regex(Pattern);

            List<string> emails = value as List<string>;

            string errorMessage = string.Empty;

            foreach (var item in emails)

            {

                if (!regex.IsMatch(item))

                {

                    errorMessage += this.ErrorMessage.Replace("{0}", item);

                }

            }

            ValidationResult validationResult = new ValidationResult(errorMessage);


            return validationResult;

        }

    }

并將其用作以下內(nèi)容:


public class TestModel

    {

        [EmailsCustom(@"[a-z0-9!#$%&' * +/=?^ _`{|}~-]+(?:\.[a-z0- 

    9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0- 

    9](?:[a-z0-9-]*[a-z0-9])?", ErrorMessage = "{0} is invalid email")]

        public List<string> Emails { get; set; }

    }


查看完整回答
反對(duì) 回復(fù) 2022-11-13
  • 1 回答
  • 0 關(guān)注
  • 121 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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