[英]How can I get ValidationMessageFor to work? C# MVC4 Razor
[英]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.