大虾们,遇见一个问题希望和大家探讨下,最近在玩validate插件验证,虽然玩的不好,但是基本的还是会得,目前遇见一个问题,我很多页面都存在一个相同的控件,我比较懒,就希望在一个我自己写得js文件中验证这个控件的输入,
代码如下:
//验证
$(function() { //公共验证规则开始
var opt = "{ rules:{";
if ($("#txt_vin").attr("id") != undefined) {//防止找不到txt_vin后报错
opt += "txt_vin: {required:true, specialChar: true },"
}
if ($("#txt_vid").attr("id") != undefined) {
opt += "txt_vid: { required:true,specialChar: true },"
}
if ($("#txt_vis").attr("id") != undefined) {
opt += "txt_vis: { required:true,specialChar: true },"
}
opt = opt.substring(0, opt.length - 1);
opt += "}}";
//验证控件输入
$("#form1").validate(opt);
})
发现不行
但是我debugger跟踪到这个opt的代码,然后加载到单个页面去验证却是ok的。
但是就是放到我自定义的js文件中当提交的时候却无法捕获进行验证,求解啊!。
代码如下:
//验证
$(function() { //公共验证规则开始
var opt = "{ rules:{";
if ($("#txt_vin").attr("id") != undefined) {//防止找不到txt_vin后报错
opt += "txt_vin: {required:true, specialChar: true },"
}
if ($("#txt_vid").attr("id") != undefined) {
opt += "txt_vid: { required:true,specialChar: true },"
}
if ($("#txt_vis").attr("id") != undefined) {
opt += "txt_vis: { required:true,specialChar: true },"
}
opt = opt.substring(0, opt.length - 1);
opt += "}}";
//验证控件输入
$("#form1").validate(opt);
})
发现不行
但是我debugger跟踪到这个opt的代码,然后加载到单个页面去验证却是ok的。
但是就是放到我自定义的js文件中当提交的时候却无法捕获进行验证,求解啊!。
你拼起来之后是字符串 而参数是json 转换一下
$("#form1").validate(opt);
var opt = "{ rules:{";
if ($("#txt_vin").attr("id") != undefined) {//防止找不到txt_vin后报错
opt += "txt_vin: {required:true, specialChar: true },"
}
if ($("#txt_vid").attr("id") != undefined) {
opt += "txt_vid: { required:true,specialChar: true },"
}
if ($("#txt_vis").attr("id") != undefined) {
opt += "txt_vis: { required:true,specialChar: true },"
}
opt = opt.substring(0, opt.length - 1);
opt += "}}";
opt = (new Function("return " + opt))(); //验证控件输入
$("#form1").validate(opt);