Как установить поле как требуется, если значение существует в другом поле? - PullRequest
0 голосов
/ 22 января 2020

У меня есть поля ввода имени, фамилии и адреса электронной почты. Требование от клиента - заполнить поле электронной почты только в том случае, если существует имя или фамилия. Если в одно из этих двух полей не введено значение, электронная почта не требуется. Я разработал этот код, который работает, предполагая, что форма всегда пуста. Проблема в том, что пользователь уже ввел данные и загружает форму. В этом случае мой код бесполезен. Вот рабочий пример того, что я имею до сих пор.

$(".check").on("keyup blur", function() {
  var fldVal = $(this).val();

  if (fldVal) {
    $("#email").closest("div").addClass("required");
    $("#email").prop("required", true);
  } else {
    $("#email").closest("div").removeClass("required");
    $("#email").prop("required", false);
  }
});
.row {padding: 3px;}
.required label:after { content: " *"; color: red; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form name="text" id="test">
  <div class="row">
    <label>First Name:</label>
    <input type="text" name="first" id="first" class="check">
  </div>
  <div class="row">
    <label>Last Name:</label>
    <input type="text" name="last" id="last" class="check">
  </div>
  <div class="row">
    <label>Email:</label>
    <input type="email" name="email" id="email">
  </div>
  <button type="button" name="submit" id="submit">Submit</button>
</form>

Я хотел бы, чтобы мой код проверил все требования при загрузке страницы. Если возможно, все это должно быть сделано с одной функцией. Я не могу придумать хороший способ достичь этого. Пожалуйста, дайте мне знать, если у вас есть идеи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...