[英]Filter validation-type in Html.ValidationMessageFor
我有一個這樣的模型:
public class SignUpModel
{
[Required, DisplayName(@"Particulars/Salutation")]
public short Salutation { get; set; }
public IEnumerable<SalutationOption> SalutationOptions { get; set; }
[Required, DisplayName("Particulars/FirstName")]
public string FirstName { get; set; }
[Required, Display(Name = "Particulars/LastName")]
public string LastName { get; set; }
[Required, DataType(DataType.EmailAddress), Display(Name = "Particulars/Email")]
public string Email { get; set; }
[Required, DataType(DataType.EmailAddress), Compare("Email"), Display(Name = "Particulars/EmailConfirmation")]
public string EmailConfirmation { get; set; }
}
現在在我看來,我想使用@Html.ValidationMessageFor
發布驗證錯誤(也是客戶端)。
<div class="section-field">
<div class="form-group">
@Html.LabelFor(model => model.Email, new { @class = "control-label required" })
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { autocomplete = "off" } })
@Html.ValidationMessageFor(x=>x.Email);
</div>
</div>
<div class="section-field">
<div class="form-group">
@Html.LabelFor(model => model.EmailConfirmation, new { @class = "control-label required" })
@Html.EditorFor(model => model.EmailConfirmation, new { htmlAttributes = new { autocomplete = "off" } })
@Html.ValidationMessageFor(x=>x.EmailConfirmation);
</div>
</div>
但是在Html.ValidationMessageFor
中,我只想顯示諸如“無效的電子郵件地址”或“兩封電子郵件必須匹配”之類的內容。
我不想顯示這樣的消息,即字段是必需的,因為所有字段都是必需的 - 而且它們帶有紅色邊框。
有可能嗎? 嘗試實現自定義 HtmlHelper,但這不會過濾任何客戶端。
所以我現在簡單地用 css 修復了它。
我將一個類required-validation
添加到無效的Required
-validations:
<p class="validation-error required-validation">The field 'FirstName' is required</p>
並添加到我的custom.css
p.validation-error.required-validation {
display: none;
}
歡迎其他有關如何使用 ASP 處理此問題的想法:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.