下面是我的代碼,我有控制器視圖中的電子郵件文本框和電話號碼文本框。 問題是當用戶開始輸入時,它顯示正則表達式驗證消息,我想要的是在用戶鍵入完整的電子郵件或電話號碼後顯示此消息。如何在焦點移出MVC中的文本框後顯示正則表達式驗證消息?
任何幫助表示讚賞。
由於
這是上視圖
<div class="editor-label">
@Html.LabelFor(model => model.Seller_Email)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.Seller_Email, new { placeholder = "Email" })
@Html.ValidationMessageFor(model => model.Seller_Email)
</div>
代碼,這是上模型
[Required(ErrorMessage = "Email is required")]
[Display(Name = "Email")]
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}" +
@"\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\" +
@".)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$",
ErrorMessage = "Email is not valid")]
[Remote("EmailExists", "Account", HttpMethod = "POST", ErrorMessage = "Email already exists. Please enter a different Email")]
public string Seller_Email { get; set; }
默認情況下,它只會顯示錯誤消息時您選項卡超出控制的(如果你再回來選項卡中它會在每個關鍵擊中顯示它),所以還有其他事情正在進行。但爲什麼你不使用'[EmailAddress]'屬性進行驗證,而使用比你更好的正則表達式呢? –
我唯一能想到的就是如果你在GET方法中添加'ModelState'(例如你的GET方法有一個參數,它是你的模型)。無論是或者你有一個覆蓋'驗證器'默認值的腳本。 –
在這種情況下,它顯示錯誤,因爲用戶開始鍵入,我也在其他字段上使用正則表達式驗證,同樣的事情也發生在那裏 – Ashish