Кажется, что вы пытаетесь работать, по крайней мере для простых правил, таких как required
.Убедитесь, что вы используете Id selector ($("#" + elementToCopy)
), когда хотите получить элемент по id.Также следует помнить об ограничении метода rules("add", rules)
:
Требуется проверка родительской формы, т. Е. $ ("Form"). Validate ()вызывается первым.
В основном, убедитесь, что и form1
, и form2
, содержащие element1
и element2
, вызвали validate()
, прежде чем начать добавлять / извлекать правила.1019 *
Я создал простой пример здесь:
http://jsfiddle.net/andrewwhitaker/4ShxX/
Редактировать: Также похоже, что это работает для пользовательских правил:
$.validator.addMethod("onlycharacters", function(value, element) {
return this.optional(element) || /^[A-Za-z]+$/.test(value);
}, "Only characters");
$("#form1").validate({
rules: {
name: {
onlycharacters: true
}
}
});
$("#form2").validate();
var rules = $("#name").rules();
$("#name2").rules("add", rules);
http://jsfiddle.net/andrewwhitaker/4ShxX/1/