Как сделать пользовательскую проверку для плагина 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);
}
}