【发布时间】:2016-05-06 17:41:59
【问题描述】:
如何在不使用@Html.PasswordFor 的情况下模拟密码字段的行为。换句话说,我想将其保留为文本字段 (@Html.EditorFor),但显示一个掩码字符 (*) 而不是键入的字符。我不想使用密码字段的原因是因为这实际上不是用于密码,而是用于其他一些敏感数据,并且使用密码字段意味着 Chrome 会提示用户保存密码。
我知道我可以使用 javascript 使用 onkeyup 将键入的字符转换为掩码字符并将实际字符保存在隐藏字段中,但问题是该字段上的模型验证会拒绝该字符。
解决这个问题的最佳方法是什么?
查看
@Html.EditorFor(model => model.Salary)
型号
[RegularExpression("([1-9][0-9]*)")] //model validation would reject asterisks.
public string Salary { get; set; }
【问题讨论】:
-
你试过吗?
-
@Blue,是的,如问题第一行所述。 Html.PasswordFor 基本上是
-
您可以尝试将其设为文本输入并使用 css 将字体语言更改为看起来像密码。这取决于你有哪些字体可用,但比 js 更易于维护/响应。检查此线程stackoverflow.com/questions/6859727/…。
-
@Blue,好的,我想这就是我想要的。
标签: javascript asp.net-mvc html asp.net-mvc-4 razor