簡體   English   中英

MVC4 ValidationMessageFor

[英]MVC4 ValidationMessageFor

我有一個視圖,該視圖使用ValidationMessageFor訪問模型中包含的數據注釋,並且沒有任何問題。 但是,我不想在相關控件之外顯示驗證消息(作為標准做法),而是在用戶將鼠標懸停在驗證警告圖標上時顯示驗證消息。

我設法使它部分起作用,但是它要求所涉及的控件在用戶單擊驗證警告圖標之前具有焦點,否則它將什么也不顯示。 是否可以通過jQuery檢索驗證消息?

模型:

[Required(ErrorMessageResourceName = "EmailRequiredErrorMessage", ErrorMessageResourceType = typeof(Resources.Languages.Models.RegistrationValidateModel))]
[StringLength(60, ErrorMessageResourceName = "EmailStringLengthErrorMessage", ErrorMessageResourceType = typeof(Resources.Languages.Models.RegistrationValidateModel))]
[Display(Name = "EmailDisplayName", ResourceType = typeof(Resources.Languages.Models.RegistrationValidateModel))]
[RegularExpression(@".+@.+\..+", ErrorMessageResourceName = "EmailInvalidRegularExpressionErrorMessage", ErrorMessageResourceType = typeof(Resources.Languages.Models.RegistrationValidateModel))]
public string Email { get; set; }

視圖

@Html.ValidationMessageFor(m => m.Email)

生成的HTML

<input class="span12" data-val="true" data-val-length="You must enter an email address less than 60 characters long" data-val-length-max="60" data-val-regex="You must enter a valid email address" data-val-regex-pattern=".+@.+\..+" data-val-required="You must enter an email address1" id="Email" name="Email" type="text" value="" />

...

<span class="field-validation-valid" data-valmsg-for="Email" data-valmsg-replace="true"></span>

當前,經過驗證后,懸停無法檢索錯誤消息

在此處輸入圖片說明

但是,如果將焦點放在控件上,然后單擊驗證警告圖標,則會顯示該消息(盡管位置稍有不同):

在此處輸入圖片說明

無論控件是否具有焦點,使用jQuery訪問屬性都應該沒有問題。 嘗試

$("#Email").attr("data-val-required")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM