Проблема: parsleyjs не подтверждает мою форму. Я пришел к такому выводу, потому что $('#contact-form').parsley('isValid')
возвращает true, когда я ожидаю, что он вернет false. Например, я установил parsley-required="true"
во все мои поля, но когда форма отправляется со всеми полями пустым, она успешно отправляется вместо запуска сообщения проверки.Форма не проверяется parsleyjs
FYI Я также использую Bootstrap в этом проекте.
Вот форма HTML:
<form method="post" id="contact-form" parsley-validate>
<div class="form-group">
<label for="contact-name">Name</label>
<input type="text" class="form-control" id="contact-name" placeholder="Name" parsley-required="true" name="name">
</div>
<div class="form-group">
<label for="contact-email">Email address</label>
<input type="email" class="form-control" id="contact-email" placeholder="Email" parsley-required="true" parsley-type="email" name="email">
</div>
<div class="form-group">
<label for="contact-message">Message</label>
<textarea class="form-control" id="contact-message" placeholder="Message" parsley-required="true" name="message"></textarea>
</div>
<div>
<input type="submit" name="submit" class="btn btn-default" value="Submit">
<input class="btn btn-default" type="reset" value="Reset" id="contact-reset">
</div>
</form>
И JavaScript, который размещается над </body>
тега.
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript" charset="utf-8" src="js/bootstrap.min.js"></script>
<script src="survey/Parsley.js-1.1.18/parsley.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#contact-form').submit(function(e) {
e.preventDefault();
if ($('#contact-form').parsley('isValid')) {
$.post("mail.php", {
name: $('#contact-name').val(),
email: $('#contact-email').val(),
message: $('#contact-message').val()
}).done(function(data) {
$('#contact-form').parsley('destroy');
$('#contact-form')[0].reset();
alert("Message successfully sent.");
});
return true;
} else return false;
});
$('#contact-reset').click(function() {
$('#contact-form').parsley('destroy');
});
});
</script>
Я попытался с помощью required
вместо parsley-required="true"
в качестве атрибута для ввода тегов (предложено для HTML5). Нет разницы. Я также пробовал другие типы ограничений, и они тоже не работают.
Нет никаких ошибок, и я уверен, что сценарий загружается правильно, так как $('#contact-form').parsley('isValid')
возвращает значение.
Любые идеи?