jquery.validate的使用

在页面上面引用

<script  type="text/JavaScript" src="js/jQuery.js"></script>
<script  type="text/JavaScript" src="js/jquery.form.js"></script>
<script  type="text/JavaScript" src="js/jquery.validate.js"></script>
<script  type="text/JavaScript" src="validator/jquery.metadata.js"></script>
<script  type="text/JavaScript" src="js/localization/messages_cn.js"></script>

页面html代码

<form id='form1'>
    <fieldset>
        <legend>jquery.validate+jquery.form</legend>
        <p>
            <label for='cusername'>
                姓名</label><em>*</em>
            <input id='cusername' name='username' class="{required:true,minlength:5}" size='25' />
        </p>
        <p>
            <label for='cemail'>
                电子邮件</label><em>*</em>
            <input id='cemail' name='email' class="{required:true,email:true}" size='25' />
        </p>
        <p>
            <input class='submit' type='submit' value='提交'>
        </p>
    </fieldset>
    </form>

执行js代码

$().ready( function() {
     $(function() {
            //表单验证JS
            $("#form1").validate({
                //出错时添加的标签
                errorElement: "span",
                success: function(label) {
                    //正确时的样式
                    label.text(" ").addClass("success");
                }
            });
        });
    
});

在html的代码中input的class属性为{required:true,email:true}意思是在
js/localization/messages_cn.js里面有说明,代码如下
jQuery.extend(jQuery.validator.messages, {
        required: "必填字段",
        remote: "请修正该字段",
        email: "请输入正确格式的电子邮件",
        url: "请输入合法的网址",
        date: "请输入合法的日期",
        dateISO: "请输入合法的日期 (ISO).",
        number: "请输入合法的数字",
        digits: "只能输入整数",
        creditcard: "请输入合法的信用卡号",
        equalTo: "请再次输入相同的值",
        accept: "请输入拥有合法后缀名的字符串",
        maxlength: jQuery.validator.format("请输入一个长度最多是 {0} 的字符串"),
        minlength: jQuery.validator.format("请输入一个长度最少是 {0} 的字符串"),
        rangelength: jQuery.validator.format("请输入一个长度介于 {0} 和 {1} 之间的字符串"),
        range: jQuery.validator.format("请输入一个介于 {0} 和 {1} 之间的值"),
        max: jQuery.validator.format("请输入一个最大为 {0} 的值"),
        min: jQuery.validator.format("请输入一个最小为 {0} 的值")
});

 如果需要将提交方式改成ajax提交

<form id='form1'>
    <fieldset>
        <legend>jquery.validate+jquery.form</legend>
        <p>
            <label for='cusername'>
                姓名</label><em>*</em>
            <input id='cusername' name='username' class="{required:true,minlength:5}" size='25' />
        </p>
        <p>
            <label for='cemail'>
                电子邮件</label><em>*</em>
            <input id='cemail' name='email' class="{required:true,email:true}" size='25' />
        </p>
        <p>
            <input type='button' id='btnSubmit' value='提交'>
        </p>
    </fieldset>
    </form>

js代码是

$("#btnSubmit").click(function () {
    var param = $("#form1").serialize();//序列化
    if ($("#form1").valid()) {//通过验证才进入ajax
        $.ajax(
            {
                url: "xxx.ashx",
                type: "get",
                data: param,
                dataType: "json",
                success: function(data) {
                    alert(data);
                }
            });
    }
});

 

posted @ 2014-09-24 15:31  递龟  阅读(216)  评论(0编辑  收藏  举报