向jquery validate动态添加规则会产生错误
adding rules dynamically to jquery validate gives error
我正在使用jQuery验证我的动态表单。我有一个下拉在我的html值1,2,3,4。如果从下拉菜单中选择1,我将显示一个带有一些字段的div,如果选择2,我将显示div1 +另一个带有一些新字段的div,等等3和4。
所有字段都以一个形式出现
<form name="client_basic_details" id="client_basic_details" method="post" action="...">
<select name="applicant_num" id="applicant_num">
<option value="">-- Select --</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<div id="applicant_1">
<input type="text" name="app_1_fname" id="app_1_fname">
<input type="text" name="app_1_mname" id="app_1_mname">
<input type="text" name="app_1_lname" id="app_1_lname">
</div>
<div id="applicant_2">
<input type="text" name="app_2_fname" id="app_2_fname">
<input type="text" name="app_2_mname" id="app_2_mname">
<input type="text" name="app_2_lname" id="app_2_lname">
</div>
<div id="applicant_3">
....
</div>
<div id="applicant_4">
...
</div>
</form>
在改变选择框时,我将div(如
)的可见性设置为true$("#applicant_num").change(function(){
hide("applicant_1");
hide("applicant_2");
hide("applicant_3");
hide("applicant_4");
for(var i=1; i<=$("#applicant_num").val(); i++)
{
var div_id = "applicant_"+i;
show(div_id);
//if loop given below lies here
}
});
与此同时,我还为
字段添加了验证规则。if(i==1)
{
$('#applicant1_salutation').rules('add','required');
$('#applicant1_initial').rules('add','required');
$('#applicant1_suffix').rules('add','required');
$('#applicant1_fname').rules('add','required');
$('#applicant1_lname').rules('add','required');
$('#applicant1_dob').rules('add','required');
$('#applicant1_marital_status').rules('add','required');
$('#applicant1_work').rules('add','required');
$('#applicant1_no_dependant').rules('add','required');
$('#applicant1_sin').rules('add','required');
$('#applicant1_fax').rules('add','required');
$('#applicant1_cont_method').rules('add','required');
}
if(i==2)
{
}
if(i==3)
{
}
if(i==4)
{
}
前5个选项规则被附加到验证方法,但之后我在控制台
中得到这个错误TypeError: element is undefined
var Settings = $.data形式,验证器).settings;
我使用了这个选项,而不是为每个语句添加规则但结果与上面的错误信息相同。
请建议。
我在文档中添加验证方法。准备好函数
编辑:点击此处:http://jsfiddle.net/E4rua/4/
我想为其他形式添加规则,如2,3,4
p
我遇到的最大的问题是:
在比较中,很明显,默认情况下,jquery验证器忽略1.9版本中的所有隐藏元素,而1.8版本会验证页面中的每个控件,无论它们是可见的还是不可见的。
Re .
只需将规则添加到其他字段的验证调用中。默认的行为是,当它们不可见时,它们将不被验证,但是当它们可见时,它们将被验证。我想这就是你想要的。
所以如果你把这个添加到你的规则对象中:
applicant2_salutation: {
required: true
}
这将导致"salutation"是必需的,但只有当applicant2可见时。
工作示例:http://jsfiddle.net/ryleyb/E4rua/5/
要为隐藏输入添加规则,必须忽略隐藏属性:
$.validator.setDefaults({ ignore: []});
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 未捕获的类型错误:无法在“CSSStyleSheet”上执行“插入规则”:需要 2 个参数,但仅存在 1 个参数
- JsHint关于不支持的规则的错误
- 包括同一ESLint规则的错误和警告
- 编译Windows语音识别宏时,规则引用错误无效
- Pure reactJS:游戏的生活规则显示错误,由于浮动:左网格建设不对应于2d数组
- jQuery验证器为规则自定义错误消息位置
- 尝试使用 js 代码清理错误的 CSS 规则
- 向jquery validate动态添加规则会产生错误
- Jquery验证插件.没有使用远程规则删除错误元素(所有元素都可以在没有远程规则的情况下工作)
- Chrome扩展"未捕获错误:无效值"使用重定向规则