Using bassistance.de's jQuery validation plugin, the validation do not always work, especially when an input that's initially been validated has its values removed.
The form will pass the validation test with the missing input, and the following error is also seen in the JS console.
Error

jQuery lib
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js"></script>
Form
<form id="payment-form" class="payment-form" method="POST" action="/checkout-process">
<fieldset>
<legend>Customer Info</legend>
<label>Full Name</label>
<input type="text" name="first_name" placeholder="First Name">
<input type="text" name="last_name" placeholder="Last Name">
<label>Email</label>
<input type="text" name="email" placeholder="[email protected]">
<label>Phone</label>
<input type="text" name="phone" placeholder="Phone">
</fieldset>
</form>
JS
$(function($) {
// Validation
$('#payment-form').validate({
rules: {
first_name: "required",
last_name: "required",
email: {
required: true,
email: true
},
phone: {
required: true,
phone: true
}
},
errorClass: 'alert alert-error'
});
});
result = $.validator.methods[method].call( this, val, element, rule.parameters );which means one of the rule name you have specified is invalid