Как переопределить сообщение валидатора ввода электронной почты? - PullRequest
0 голосов
/ 03 июля 2018

У меня есть такой адрес электронной почты, в основном будет 3 оригинальных валидатора.

  • Если я ничего не наберу, отобразится Please fill in this field.
  • Если я наберу что-нибудь без @, например, a:, будет показано Please include an @ in the email address...
  • Если я набираю что-то с @, но не заканчиваю, например, a@. это показывает Please enter a part following @...

Теперь мне нужно переопределить существующее всплывающее окно своим собственным предупреждением, скажем, "alert1", "alert2" , "alert3". Но у меня возникают трудности при написании кода, чтобы различать эти три. Любая помощь, пожалуйста.

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>validity.typeMismatch</title>
</head>
<body>
  <form name="frmRegister" id="frmRegister">
    <label>Email Address:<br><input name="txtemail" id="txtemail" required="required" type="email"></label>
    <input type="submit" value="Register..">
  </form>
</body>
</html>

1 Ответ

0 голосов
/ 03 июля 2018

$('input[type=submit]').click(function() {

    const dom = document.getElementById('txtemail')

    if (!$('#txtemail').val()) {
        dom.setCustomValidity('alert1')
    } else if ($('#txtemail').val().indexOf('@') === -1) {
        dom.setCustomValidity('alert2')
    } else if ($('#txtemail').val().indexOf('@') === $('#txtemail').val().length - 1) {
        dom.setCustomValidity('alert3')
    }
})
...