1
我一直在試圖弄清楚,但我沒有運氣。我有一個有兩個屬性的模型:Password
和ConfirmPassword
。Html.PasswordFor()不顯眼的字段驗證
如果我在視圖中顯示這些文本框(Html.TextBoxFor(...)
),那麼驗證工作正常。但是,如果我將這些顯示爲密碼字段(Html.PasswordFor(...)
),那麼在提交表單之前驗證不起作用。
以下是我的視圖和模型的代碼。請注意,該視圖只是一個測試視圖,我還沒有提交一個提交按鈕。 型號:
public class TestViewModel
{
[Required(ErrorMessage = "Password is required")]
[StringLength(40, ErrorMessageResourceType = typeof(Resources.Shared_Editor_SecurityDetails), ErrorMessageResourceName = "PasswordLength")]
public string Password { get; set; }
[Required(ErrorMessage = "Confirm is required")]
[Compare("Password", ErrorMessage = "Must be the same as Password")]
public string ConfirmPassword { get; set; }
}
查看:
@using (Html.BeginForm())
{
<div>
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div>
<div>
@Html.LabelFor(m => m.ConfirmPassword)
@Html.PasswordFor(m => m.ConfirmPassword)
@Html.ValidationMessageFor(m => m.ConfirmPassword)
</div>
}
如果有人能夠幫助那麼這將是非常讚賞。
非常感謝!
也許這是瀏覽器中的一些安全設置,它會阻止閱讀paswords的JavaScript?你正在使用哪種瀏覽器? – Richard 2013-04-12 07:57:24
嗨@Stony,對於遲到的回覆感到抱歉。我使用的是Firefox和Chrome,兩者都有相同的問題。我試圖在這兩種瀏覽器中尋找這樣的設置,但找不到任何東西 - 是否存在這樣的設置?謝謝! – pkunal7 2013-04-18 11:33:41
對不起,這只是基於回憶閱讀關於如何讓Javascript讀取密碼不安全的猜測,因爲它讓您容易受到攻擊。 – Richard 2013-04-18 11:48:45