我在ASP MVC3中工作。我有一個模型來輸入客戶的聯繫信息。 該信息是必需的。當viewstat無效時,文本框必須有一個紅色的邊框(這是有效的),沒有錯誤消息。但是當emailinput無效時,錯誤必須在視圖中可見。因此,只有emailannotation的錯誤消息必須可見,而不是必需的註釋。我不知道如何做到這一點。只顯示電子郵件無效時的錯誤消息
型號:
[Required]
public string FirstName { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Address { get; set; }
[Required]
public string PostalCode { get; set; }
[Required]
public string City { get; set; }
[Required]
public string Country { get; set; }
[Required]
public string PhoneNumber { get; set; }
public string Fax { get; set; }
[Required]
[Email]
public string Email { get; set; }
觀點:
<div class="row-fluid">
<div class="span6">
<div data-role="fieldcontain" class="ui-hide-label">
<label [email protected]_Telefoon>@Lingo.language.Obj_Telefoon</label>
<span>@Html.TextBoxFor(m => m.PhoneNumber, new { style = "width:90%!important;", placeholder = @Lingo.language.Obj_Telefoon })</span>
</div>
</div>
<div class="span6">
<div data-role="fieldcontain" class="ui-hide-label">
<label [email protected]_Fax>@Lingo.language.Obj_Fax</label>
<span>@Html.TextBoxFor(m => m.Fax, new { placeholder = @Lingo.language.Obj_Fax })</span>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<div data-role="fieldcontain" class="ui-hide-label">
<label [email protected]_Email>@Lingo.language.Obj_Email</label>
<span>@Html.TextBoxFor(m => m.Email, new { style = "width:98%!important;", placeholder = @Lingo.language.Obj_Email })</span>
<span>@Html.ValidationMessageFor(m => m.Email)</span>
</div>
</div>
</div>
[必需(的ErrorMessage =「」)給出了一個錯誤,但是當你把一個空間的錯誤,將工作。 ==> [必需(ErrorMessage =「」)]謝謝:) – 2012-04-11 14:29:15
謝謝,我更新了答案,說明。 – JustinStolle 2012-04-11 17:13:56
不幸的是,使用正則表達式驗證電子郵件地址可能會導致錯誤的結果。考慮這些(通過你發佈的正則表達式的錯誤地址):'double..dots..are..not..allowed @ example.com','me @ hello .-。com',甚至是'me @。 .com' - 爲了完成符合IETF的電子郵件驗證,我建議使用我們的酷[電子郵件驗證組件](http://cobisi.com/email-validation/.net-component)作爲您的EmailAttribute類的後端。 ;) – 2012-04-12 05:35:12