Calling jquery validation valid on form element
12,480
I think valid()
is only for an enitre form
Try using $.validate().element(item)
if (!$("#aspnet-form").validate().element( item ))
{
isValid = false;
}
http://docs.jquery.com/Plugins/Validation/Validator/element#element
Author by
David Burton
Updated on June 04, 2022Comments
-
David Burton almost 2 years
I have a form where I am calling the valid() function on each form element separately. I have an field named "altemailaddress" that I set a rule to be "email" and required is false. However the valid() function returns false if there is no value in the input text box.
jQuery("#aspnet-form").validate({ onsubmit: false, rules: { prefix: "required", emailaddress: { required: true, email: true }, altemailaddress: { required: false, email: true } }, messages: { prefix: "Please enter a prefix", emailaddress: { required: "Please enter an email address", email: "Invalid email format" } } }); var $group = jQuery(this).parents(".validationGroup"); var isValid = true; $group.find(":input").each(function (i, item) { if (!jQuery(item).valid()) { isValid = false; } });
As I loop through each item, I call the valid() function. If the rule for altemailaddress says require: false, it ignores it and returns false if no value is provided.
If I just set up the validate plugin to validate on submit it works fine.
-
David Burton over 14 yearsThis worked at first, then without changing any code, I tested again and now it doesn't work. I will have to try again
-
Alpha Codemonkey over 14 yearsmake sure you are still using jQuery 1.3 I had some sites start failing yesterday because they automatically started using jQuery 1.4, and some of the plugins didnt work