I'm wondering if it's possible to specify the order in which the validators are run.
Currently I wrote a custom validator that check if it's [a-zA-Z0-9]+ to make sure the login validates our rules and a remote validator to make sure that the login is available but currently the remote validator is lauched before my custom validator. I would like to launch the remote validator only if the element validates my custom validator.
Any clue ?
thanks for reading
You need to augment/monkey patch/overwrite (whichever term makes the most sense to you) the $.fn.rules
that the validate plugin uses when creating the rules to run for a field to push your rule to second place in the rules object, after the required
rule.
If you search for rules
in the script, you'll need to add similar logic to this just before if (data.required)
If (data.yourRuleName) {
var param = data.yourRuleName;
delete data.yourRuleName;
data = $.extend({ yourRuleName: param }, data);
}
Or you can copy the rules
section out, add the above and put it in a script that is referenced after the validate script. This way, if the script changes, you won't have to go applying these changes to the new version of the script (assuming that rules would still work the same way).