您好,我有一个带有不同输入字段的表单。
我想知道为什么只有电子邮件输入的建议(自动完成)包含我的连接页面的电子邮件和chrome保存的密码。
我尝试删除id =“ email”和name =“ email”以及数据注释,但也仅针对此输入显示建议。
最后,我想在此输入中禁用此建议,我也尝试过使用自动完成属性,但是我遇到了同样的问题。
这是我的代码html:
<div class="col-6">
<label class="col-12 px-2 mdc-text-field">
@Html.TextBoxFor(model => model.Email, new { @class = "mdc-text-field__input", @style = "padding-left: 20px;" })
<span class="mdc-floating-label" style="padding-left: 20px;">Mail</span>
<div class="mdc-text-field__bottom-line"></div>
</label>
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
</div>
这是我的模特:
[Required(ErrorMessage = "L'adresse mail est obligatoire")]
[RegularExpression("^[a-zA-Z0-9_\\.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,100}$", ErrorMessage = "E-mail invalide")]
public string Email { get; set; }
答案 0 :(得分:2)
因此,这是我从您的问题中了解的信息。
您的浏览器在字段中建议您存储的电子邮件/密码,并希望避免这种情况。
可能的解决方案,只需最少的代码:
关键是告诉浏览器不要通过关闭自动完成功能来提出任何建议。
autocomplete="off"
您可以像这样在表单中进行设置
<form method="post" action="blah" autocomplete="off">
...
</form>
或者,您可以像这样直接将其设置到您的字段中
<input type="text" id="lalaLand" name="ryan" autocomplete="off">
这应该可以解决您的问题。但是,如果仍然无法使用,只需在autocomplete属性中提供一些垃圾值,而不是“ off”。
autocomplete="Katakomb"
我不推荐最后一个,因为它是一种肮脏的解决方法。仅当选项用完时才使用它。
更新1:
从您的评论中我看到禁用对您不起作用。试试这个,看看是否可行。 (由于字符@,因此无法在评论中发布此内容)
<%= Html.TextBoxFor(
model => model.Email,
new { @class = "mdc-text-field__input", @style = "padding-left: 20px;", autocomplete = "off" }
)%>
更新2
用于通过自定义属性进行处理的示例。
@Html.TextBoxFor(vm => vm.Blah, new { my_attribute= "myValue" })
这将在实际的HTML版本中生成一个自定义属性,如下所示:
<input my-attribute="myValue" id="Blah" name="Blah" type="text" value="" />