문제점 : parsleyjs가 양식을 검증하지 않습니다. $('#contact-form').parsley('isValid')
이 true를 반환하기 때문에이 결과를 얻었습니다. false를 반환 할 것으로 예상됩니다. 예를 들어 모든 입력란에 parsley-required="true"
을 설정했지만 입력란이 비어있는 상태로 양식을 제출하면 유효성 검사 메시지가 표시되지 않고 성공적으로 제출됩니다.양식이 parsleyjs에 의해 검증되지 않음
참고 :이 프로젝트에서는 부트 스트랩도 사용하고 있습니다.
<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>
그리고 </body>
태그를 배치되는 자바 스크립트 :
여기에 양식 HTML입니다.
<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>
은 내가 (HTML5에 대한 제안) 입력 태그의 속성으로 required
대신 parsley-required="true"
의를 사용하여 시도했습니다. 차이 없음. 다른 유형의 제약도 시도해 보았지만 어느 것도 작동하지 않습니다.
주어진 오류가 없으며 $('#contact-form').parsley('isValid')
값을 반환하기 때문에 스크립트가 올바르게로드되고 있음을 확신합니다.
아이디어가 있으십니까?