Как сделать пользовательскую проверку для плагина jquery-verify?

Я использую плагин JQuery-подтверждения. Это круто!. Я использую пример подсказки. Я должен использовать поле электронной почты вместо текстового поля, поэтому я установил type="email". Теперь я должен установить валидацию.

function forgot_password($id){
$.confirm({
    title: 'Prompt!',
    content: '' +
    '<form action="" class="formName">' +
    '<div class="form-group">' +
    '<label>Enter something here</label>' +
    '<input type="email" placeholder="Your name" class="name form-control" required />' +
    '</div>' +
    '</form>',
    buttons: {
        formSubmit: {
            text: 'Submit',
            btnClass: 'btn-blue',
            action: function () {
                var name = this.$content.find('.name').val();
                if(!name){
                    $.alert('provide a valid name');
                    return false;
                }
                $.alert('Your name is ' + name);
            }
        },
        cancel: function () {
            //close
        },
    },
    onContentReady: function () {
        // bind to events
        var jc = this;
        this.$content.find('form').on('submit', function (e) {
            // if the user submits the form by pressing enter in the field.
            e.preventDefault();
            jc.$$formSubmit.trigger('click'); // reference the button and click it
        });
    }
});

}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.css">
    
    
  <a href="javascript:void(0);" onClick="forgot_password(2)" class="cross-cta"><i class="fa fa-times" aria-hidden="true"></i></a>
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js"></script>

Как мне установить валидацию? Я попробовал приведенный ниже код в функции действия, но он не работает. Не могли бы вы помочь мне в этом?

action: function () {
var name = this.$content.find('.name').val();
if(!name){
$.alert('Email field is empty');
return false;
}
elseif(!preg_match("/^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+.)+[a-zA-Z]{2,6}$/i",$name)) {
$.alert('Email format invalid');
return false;
}
else{
$.alert('The reset password email has been sent on ' + name);
}
}

0 ответов

Другие вопросы по тегам