我有一個視圖,它使用ValidationMessageFor訪問模型中包含的數據註釋,並且沒有問題。但是,除了相關控件(作爲標準實踐)之外,我不想顯示驗證消息,而是希望在用戶將鼠標懸停在驗證警告圖標上時顯示驗證消息。MVC4 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(@"[email protected]+\..+", 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="[email protected]+\..+" 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>
目前,驗證後懸停無法檢索錯誤消息
但是,如果你給控件焦點,然後單擊它顯示消息的驗證警告圖標(儘管在一個稍微不同的位置):
這可能有助於... http://stackoverflow.com/a/7674660/609176 –