jquery thinkphp 混合validation验证

浏览:1163 发布日期:2016/07/27 分类:技术分享

对于上述表单,你一般会如何进行验证呢?
要求:两个字段不能为空,都唯一。
我采取了jquery validation(插件)与THINK PHP的自动验证混合方式来验证。
不过还有一个疑问,thinkphp可否将所有的错误信息一并输出呀?
(1)jquery validation //公司信息验证
$(function () {
    $.validator.addMethod(
            "uniquedata",
            function (value, element, param) {
                var errstr="";
                $.ajax({
                    url: "/index.php/home/company/validate",
                    type:"POST",
                    async:false,
                    data:$("#companyedit").serialize(),
                    success:function(data){
                        $("#ajax").html(data);
                        errstr=data;
                    }
                });
                return (errstr!==param);
            },
            '编号已经存在!'
            );
    $("#companyedit").validate({  
        debug: true,
        rules: {
            companycode: {
                uniquedata: "err_1",
                required: true
            },
            companyname: {
                uniquedata: "err_2",
                required: true
            }
        },
        messages: {
            companycode: {
                required: '请输入公司代码'
            },
            companyname: {
                required: '请输入公司名称'
            }
        }
    });
});
(2)thinkphp进行字段唯一的验证public function validate() {
        $Company = M("company");
        $rules = array(
            array('companycode', '', 'err_1', 0, 'unique', 3), 
            array('companyname', '', 'err_2', 0, 'unique', 3),
        );
//       return $Company->validate($rules)->create();
        if ($Company->validate($rules)->create()) {
            echo "passed";
        } else {
            echo($Company->getError());
        }
    }
验证效果图:
最佳答案
评论( 相关
后面还有条评论,点击查看>>