Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在不失败模型验证的情况下屏蔽文本输入中输入的字符?_Javascript_Asp.net Mvc_Html_Asp.net Mvc 4_Razor - Fatal编程技术网

Javascript 如何在不失败模型验证的情况下屏蔽文本输入中输入的字符?

Javascript 如何在不失败模型验证的情况下屏蔽文本输入中输入的字符?,javascript,asp.net-mvc,html,asp.net-mvc-4,razor,Javascript,Asp.net Mvc,Html,Asp.net Mvc 4,Razor,如何在不使用@Html.PasswordFor的情况下模拟密码字段的行为。换句话说,我想将其保留为文本字段(@Html.EditorFor),但显示一个屏蔽字符(*),而不是键入的字符。我不想使用密码字段的原因是,这实际上不是针对密码,而是针对其他一些敏感数据,而使用密码字段意味着Chrome会提示用户保存密码 我知道我可以使用使用onkeyup的javascript将键入的字符转换为掩码字符,并将实际字符保存在隐藏字段中,但问题是该字段上的模型验证将拒绝该字符 解决这个问题的最佳方法是什么 看

如何在不使用@Html.PasswordFor的情况下模拟密码字段的行为。换句话说,我想将其保留为文本字段(@Html.EditorFor),但显示一个屏蔽字符(*),而不是键入的字符。我不想使用密码字段的原因是,这实际上不是针对密码,而是针对其他一些敏感数据,而使用密码字段意味着Chrome会提示用户保存密码

我知道我可以使用使用onkeyup的javascript将键入的字符转换为掩码字符,并将实际字符保存在隐藏字段中,但问题是该字段上的模型验证将拒绝该字符

解决这个问题的最佳方法是什么

看法

模型


使用带有autocomplete=“off”的密码字段


请参阅和。

使用带有autocomplete=“off”的密码字段


请参见和。

您试过了吗?@Blue,是的,正如问题的第一行所述。PasswordFor基本上就是你可以试着把它变成一个文本输入,然后用css把字体语言改成密码。这取决于可用的字体,但比js更易于维护/响应。检查这条线。@Blue,好的,我想这就是我要找的。你试过了吗?@Blue,是的,正如问题的第一行所提到的。PasswordFor基本上就是你可以试着把它变成一个文本输入,然后用css把字体语言改成密码。这取决于可用的字体,但比js更易于维护/响应。检查这条线。@Blue,好的,我想这就是我要找的东西。
 @Html.EditorFor(model => model.Salary)
[RegularExpression("([1-9][0-9]*)")] //model validation would reject asterisks.
public string Salary { get; set; }