2016-05-06 24 views
0

如何在不使用@ Html.PasswordFor的情況下模擬密碼字段的行爲。換句話說,我想保留它作爲文本字段(@ Html.EditorFor),但顯示一個蒙面字符(*)而不是鍵入字符。我不想使用密碼字段的原因是因爲這實際上不是密碼,而是其他一些敏感數據,並且使用密碼字段表示Chrome會提示用戶保存密碼。如何屏蔽在文本輸入中輸入的字符而不失敗模型驗證?

我知道我可以使用onkeyup來將輸入的字符轉換爲蒙面字符並將實際的字符保存在隱藏字段中,但問題是該字段上的模型驗證會拒絕該字符。

解決此問題的最佳方法是什麼?

查看

@Html.EditorFor(model => model.Salary) 

型號

[RegularExpression("([1-9][0-9]*)")] //model validation would reject asterisks. 
public string Salary { get; set; } 
+2

您是否嘗試過? – Blue

+0

@藍色,是的,正如問題第一行所述。 Html.PasswordFor基本上是 Prabhu

+0

您可以嘗試將其設置爲文本輸入,並使用css將字體語言更改爲類似密碼。這取決於你有什麼樣的字體,但比js更容易維護/響應。檢查此線程http://stackoverflow.com/questions/6859727/styling-password-fields-in-css。 – Blue

回答