如何在不使用 @Html.PasswordFor 的情况下模拟密码字段的行为。换句话说,我想将其保留为文本字段(@Html.EditorFor),但显示屏蔽字符(*)而不是键入的字符。我不想使用密码字段的原因是因为这实际上不是用于密码,而是用于其他一些敏感数据,而使用密码字段意味着 Chrome 会提示用户保存密码。
我知道我可以使用带有 onkeyup 的 JavaScript 将输入的字符转换为屏蔽字符并将实际字符保存在隐藏字段中,但问题是该字段上的模型验证会拒绝该字符。
解决这个问题的最佳方法是什么?
查看
@Html.EditorFor(model => model.Salary)
型号
[RegularExpression("([1-9][0-9]*)")] //model validation would reject asterisks.
public string Salary { get; set; }
最佳答案
使用带有 autocomplete="off"的密码字段。
参见Chrome Browser Ignoring AutoComplete=Off和 Disable browser 'Save Password' functionality .
关于javascript - 如何屏蔽文本输入中输入的字符而不导致模型验证失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078435/