2016-08-02 41 views
0

型號:MVC剃刀密碼所需的字段問題

[StringLength (50 , ErrorMessage = "Password: Exceeds Size")] 
public string Password 
{ 
    get; 
    set; 
} 

查看:

@Html.LabelFor(m => m.Password) 
@Html.PasswordFor(m => m.Password) 
    @{ Html.ValidateFor(m => m.Password); } 

這是我的模型&看法,但密碼字段不是在編輯模式填充(即;由於安全問題,無法將DB的密碼值分配給此密碼字段)。但不顯眼的JavaScript驗證工作正常。由於我們有編輯問題,因爲我googled我有解決方案來替換視圖如下;

@Html.LabelFor(m => m.Password) 
<input type="password" name="Password" id="Password" value="@Model.Password" /> 
@{ Html.ValidateFor(m => m.Password); } 

但是,這並沒有提高我在模型中所需的驗證集。還發現由於data-val屬性沒有綁定,因此不顯眼的JS驗證不適用於此密碼字段。

所有其他驗證工作正常。我能解決這個問題嗎?

+1

使用'@ Html.TextBoxFor(m => m.Password,new {type =「password」})''。但是爲什麼'PasswordFor()'沒有設置該值是有原因的(爲了安全起見,你應該儘量減少傳遞密碼的次數) –

+0

謝謝,這將解決我的問題。由於這是給予管理員,它被加密。我可以繼續解決。 – pvaju896

+0

[Repopulate html.passwordFor]可能的重複(http://stackoverflow.com/questions/9491655/repopulate-html-passwordfor) – Liam

回答

0
@Html.TextBoxFor(m => m.Password, new { type = "password" }) 

但還有一個原因PasswordFor()不設置值(出於安全原因,你應該儘量減少周圍路過的密碼)

由於這是僅用於管理員和被加密。我可以使用這個解決方案。

+0

什麼解決方案?這似乎與您的問題幾乎完全相同的代碼? – Liam