2016-06-10 116 views
2

對於電子郵件字段我有這個生成的HTML客戶端驗證射擊,但沒有顯示消息

<input name="PasswordLoserEmail" class="input-validation-error form-control" id="PasswordLoserEmail" aria-invalid="true" aria-required="true" aria-describedby="PasswordLoserEmail-error" type="email" value="" data-val-required="The email address is required" data-val="true" data-val-email="Invalid Email Address"> 

從這個剃刀代碼:

@Html.TextBoxFor(m => m.PasswordLoserEmail, new { @class = "form-control", type = "email" }) 

而且我已經添加了註解是這些:

[Display(Name = "Email address")] 
[EmailAddress(ErrorMessage = "Invalid Email Address")] 
[Required(ErrorMessage = "The email address is required")] 
public string PasswordLoserEmail { get; set; } 

而且我在HTML頁面底部有這個太:

@section Scripts { 
    @Scripts.Render("~/bundles/jqueryval") 
} 

,只是添加這個東西我CSS太:

.input-validation-error { 
    display: block; 
    color: red; 
} 

但是,當我輸入了無效的電子郵件地址,但它防止後提交的形式,但它並沒有顯示錯誤信息給用戶。 爲什麼?

回答

2

您需要添加一個ValidationMessageFor顯示錯誤消息:

@Html.ValidationMessageFor(m => m.PasswordLoserEmail) 
+0

好,謝謝,現在它是有點兒工作,但兩個問題:一旦頁面加載,它說是必需的電子郵件!它也認爲像「abc @」這樣的輸入是有效的! – Bohn

+0

嘗試[DataType(DataType.EmailAddress)]和[EmailAddress],而不是數據註釋中的當前EmailAddress屬性。 –

相關問題