Почему это предложение только во входе электронной почты - PullRequest
0 голосов
/ 15 ноября 2018

Здравствуйте, у меня есть форма с различными полями ввода.

Я хочу знать, почему только предложения (автозаполнение) ввода электронной почты содержат адрес электронной почты моей страницы подключения и пароль, сохраненный 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; }

1 Ответ

0 голосов
/ 15 ноября 2018

Итак, вот что я понял из вашего вопроса.

Ваш браузер предлагает ваш сохраненный адрес электронной почты / пароль в полях и хочет избежать этого.

Возможное решение в виде минимального кода:

Ключ должен сказать браузеру не предлагать что-либо, отключив автозаполнение.

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="" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...