When using jQuery verification plugin, you may experience verification stuttering when typing in the input field. This is most common when using custom verification rules triggering ajax request to verify user input (for example, checking if the user's email is unique in the database). The lag experience was awful. To eliminate continuous verification checks, add the following parameters to the form verification function:
onkeyup: false, onclick: false, onfocusout: false,
Therefore, your verification function might look like this:
$("#form").validate({ onkeyup: false, onclick: false, onfocusout: false, // 验证规则 rules: { // ... }, // 验证消息 messages: { // ... }, // 提交处理程序 submitHandler: function(form) { // ... } });
$.validate()
Options messages: {}, groups: {}, rules: {}, errorClass: "error", validClass: "valid", errorElement: "label", focusInvalid: true, errorContainer: $([]), errorLabelContainer: $([]), onsubmit: true, ignore: ":hidden", ignoreTitle: false, onfocusin: function(element, event) { ... }, onfocusout: function(element, event) { ... }, onkeyup: function(element, event) { ... }, onclick: function(element, event) { ... }, highlight: function(element, errorClass, validClass) { ... }, unhighlight: function(element, errorClass, validClass) { ... }
jQuery Verification Plugin allows you to customize error messages as needed. You can do this by using the .validate()
option in the messages
method. Examples are as follows:
$("#myForm").validate({ rules: { name: { required: true, minlength: 2 } }, messages: { name: { required: "请输入您的姓名", minlength: "您的姓名必须至少包含 2 个字符" } } });
In this example, if the "name" field is empty, a custom error message "Please enter your name" will be displayed. If the "name" field is less than 2 characters, "Your name must contain at least 2 characters".
You can use jQuery validation for multiple forms on the same page by calling the .validate()
method separately for each form. Examples are as follows:
$("#form1").validate({ // form1 的规则和消息 }); $("#form2").validate({ // form2 的规则和消息 });
In this example, #form1
and #form2
are the IDs of the two forms. You can define separate validation rules and messages for each form.
You can use jQuery verification with AJAX by using the .validate()
option in the submitHandler
method. When the form is valid, the submitHandler
function is called, where you can submit the form through AJAX. Examples are as follows:
$("#myForm").validate({ rules: { // 您的规则 }, messages: { // 您的消息 }, submitHandler: function(form) { $.ajax({ type: "POST", url: "/your-url", data: $(form).serialize(), success: function(response) { // 处理响应 } }); } });
In this example, when the form is valid, it will be submitted to the URL "/your-url" via AJAX. The $(form).serialize()
method is used to create a text string of a standard URL-encoded notation.
The rest of the FAQ content is consistent with the original text. In order to avoid excessively long output, I will not repeat it here. You can copy and paste the remaining FAQ parts of the original text here as needed to complete the pseudo-originalization of the entire document. Note that the answers to each FAQ are slightly verbally adjusted to make it different from the original text, but with the same meaning.
The above is the detailed content of jQuery validation validate only on form submit. For more information, please follow other related articles on the PHP Chinese website!