div ボタンがクリックされたときに起動するには、この検証が必要です。検証が成功した場合は、「良い」というアラートを出してほしい。
残念ながら、検証が開始され、すべてのルールがチェックされますが、必須フィールドが空白の場合でもエラーにはなりません。他のチェックではエラーになります。
最後に、フィールドに正しく入力してボタンをクリックしても何も起こりません。
JS:
$(document).ready(function() {
// Submit prompted password reset
$("#passwordResetButton").click(function() {
$("#passwordResetForm").validate({
rules: {
password: { required: true, minlength: 8, maxlength: 40, remote: { url: "/ajax/isPasswordOK", data: { product: function() { return $("#password").val(); } } } },
confirmPassword: { required: true, equalTo: "#password" },
},
messages: {
password: { required: "Please enter a password", minlength: "Password must be at least 8 characters long", remote: "Password should contain: <li>At least one upper case character <li>At least one lower case character <li>At least one number <li>And may not contain any of the following: \\;-\")(&*='|$" },
confirmPassword: { required: "Please confirm your password", equalTo: "The passwords do not match" },
},
onkeyup: false, //turn off auto validate whilst typing
onblur: true,
afterValidation: function() {
alert('is good');
}
});
});
});
HTML:
<form id="passwordResetForm" style="width: 480px; margin: auto;">
<div class="row"><p class="lead">Let's reset that password</p></div>
<div class="row">
<div class="small-8 large-4 columns"><label>New Password:</label></div>
<div class="small-12 large-6 columns"><input name="password" id="password" type="password" size="20"/></div>
</div>
<div class="row">
<div class="small-8 large-4 columns"><label>Confirm Password:</label></div>
<div class="small-12 large-6 columns"><input name="confirmPassword" id="confirmPassword" type="password" size="20"/></div>
</div>
<div class="row">
<div class="large-offset-10 small-3 large-1 columns">
<div id="passwordResetButton" class="small button">Submit</div>
</div>
</div>
</form>