我正在使用 Web 驱动程序完成一个表单,并且需要通过browser.execute_script()
将隐藏的表单字段插入 DOM 来绕过两个表单字段。
但是,我还需要禁用现有的验证方法才能提交表单。该表单使用 jQuery Validate。任何人都可以建议如何禁用部分或全部 jQuery Validate?
我尝试使用以下内容,但出现错误TypeError: d is undefined
b.execute_script('
$("firstMemorableCharacter").rules("remove");
$("secondMemorableCharacter").rules("remove");
')
firstMemorableCharacter
附有验证规则的表单字段的名称在哪里。
使用 jQuery Validate 设置验证,如下所示:
with($.validator) {
addMethod(...);
setDefaults({
....
messages: { },
rules: {
firstMemorableCharacter: {
radioHasValue: true
},
secondMemorableCharacter: {
radioHasValue: true
}
}
});
(上面显示的规则是我需要禁用的规则。)
提前致谢。
更新:
在这篇文章之后,如何从表单中删除 jQuery 验证?,我尝试使用 HTML DOM(绕过 jQuery)提交表单,使用$("#form-id")[0].submit();
. 但是,这不起作用 - jQuery 中似乎有一些额外的 JavaScript 需要执行才能正确提交表单。
因此,我需要一种在 jQuery Validate 中专门禁用这两个规则的方法,而不是禁用整个 jQuery 或 jQuery Validate。