javascript - 如何屏蔽文本输入中输入的字符而不导致模型验证失败?

标签 javascript asp.net-mvc html asp.net-mvc-4 razor

如何在不使用 @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=OffDisable browser 'Save Password' functionality .

关于javascript - 如何屏蔽文本输入中输入的字符而不导致模型验证失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078435/

相关文章:

javascript - 来自服务器的 Meteor 发布信息更改了 DOM 并删除了元素上的键盘焦点

c# - 尝试将对象与 EntityFramework 关联时出现无效列名错误

asp.net-mvc - TDD:在 ASP.NET MVC 3 中测试 DataAnnotations 的最佳实践是什么?

asp.net-mvc - 未找到 View 索引或主视图天蓝色部署问题

javascript - 当 POST 到 iframe 时,location.reload 会阻止表单提交(Firefox 37.0.2)

html - 具有对齐列的子表

javascript - 有没有办法在图片到图片模式下打开 HTML 卡(用于 PC)

javascript - 如何过滤D3数据

javascript - 如何使网页的突出显示部分始终垂直位于屏幕中央?

javascript - 有没有办法检查 div 是否包含 img,然后将其用作 onclick 事件的条件?