首页 新闻 会员 周边

当使用jquery.validate时,集中验证该如何实现

0
悬赏园豆:10 [已解决问题] 解决于 2013-07-01 11:22

asp.net开发。使用jquery.validate做前台验证。因需要人性化提示文字和效果,故将验证规则写入了js代码中。如下所示:

$("#form1").validate({
                rules: {
                    ctl00$BodyContent$OrganizationName: "required",
                    ctl00$BodyContent$Address: "required"
            
                },
                messages: {
                    ctl00$BodyContent$OrganizationName: "组织机构名称必填!",
                    ctl00$BodyContent$Address: "地址必填!"
                    }
            })

 

需要验证的页面非常多,在每个页面单独写验证规则不是太好,想把所有的验证规则统一放到一个或是几个js文件,不知道该如何实现?

快乐鸟的主页 快乐鸟 | 初学一级 | 园豆:7
提问于:2013-06-28 11:33
< >
分享
最佳答案
0

创建一个规则对象即可

common.js
//==============================
var CustomRules = {
    rules: {
        ctl00$BodyContent$OrganizationName: "required",
        ctl00$BodyContent$Address: "required"

    },
    messages: {
        ctl00$BodyContent$OrganizationName: "组织机构名称必填!",
        ctl00$BodyContent$Address: "地址必填!"
    }
};
//==============================

$("#form1").validate(CustomRules)
收获园豆:10
TiestoRay | 小虾三级 |园豆:687 | 2013-06-28 13:08

有大约700个页面需要验证,您的意思是说专门写一个验证文件,比如叫common.js

里面有很多规则。例如:

//==============================
var a= {
    rules: {
        ctl00$BodyContent$OrganizationName: "required",
        ctl00$BodyContent$Address: "required"

    },
    messages: {
        ctl00$BodyContent$OrganizationName: "组织机构名称必填!",
        ctl00$BodyContent$Address: "地址必填!"
    }
};
//==============================




//==============================
var b= {
    rules: {
        ctl00$BodyContent$OrganizationName: "required",
        ctl00$BodyContent$Address: "required"

    },
    messages: {
        ctl00$BodyContent$OrganizationName: "组织机构名称必填!",
        ctl00$BodyContent$Address: "地址必填!"
    }
};
//==============================
//==============================
var c= {
    rules: {
        ctl00$BodyContent$OrganizationName: "required",
        ctl00$BodyContent$Address: "required"

    },
    messages: {
        ctl00$BodyContent$OrganizationName: "组织机构名称必填!",
        ctl00$BodyContent$Address: "地址必填!"
    }
};
//==============================


然后在不同的验证页面写:

$("#form1").validate(a)
$("#form1").validate(b)
$("#form1").validate(c)
 
快乐鸟 | 园豆:7 (初学一级) | 2013-06-28 17:54

@快乐鸟: 

恩 基本就是这么个意思

如果规则比较灵活的话,也可以通过组装规则的方式来解决

TiestoRay | 园豆:687 (小虾三级) | 2013-06-29 17:08
其他回答(4)
0

修改源码~

幻天芒 | 园豆:37175 (高人七级) | 2013-06-28 12:12
0

直接把你写的放js里面,然后每个页面的表单id命名为from1就好了 没试过,啊哈哈~

alone__ | 园豆:60 (初学一级) | 2013-06-28 14:30
0

formevalidate   jquery一个完整的验证框架非常好!

Beyond-bit | 园豆:2885 (老鸟四级) | 2013-06-28 14:52
0

写到 class 属性就可以,不用写js

geass.. | 园豆:1821 (小虾三级) | 2013-06-28 21:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册