【问题标题】:Server side validation using JQuery validator (Cakephp)使用 JQuery 验证器 (Cakephp) 进行服务器端验证
【发布时间】:2011-11-11 11:21:44
【问题描述】:

您好,我目前正在使用 cakePHP 做一个学校项目。我有以下表单并假设创建了表单标签。

<?php echo $form->input('number',array('id'=>"number",'title'=>"Please enter a number with at least 3 and max 15 characters ha!"));?>

<?php echo $form->input('secret',array('id'=>"secret"));?>

<?php echo $form->input('math',array('id'=>"math",'title'=>"Please enter the correct result!"));?>

 <?php echo $form->input('userName',array('id'=>"userName",'title'=>"User Exist"));?>

我正在使用客户端验证,代码如下:

$.validator.addMethod("buga", function(value) {
    return value == "buga";
}, 'Please enter "buga"!');

// this one requires the value to be the same as the first parameter
$.validator.methods.equal = function(value, element, param) {
    return value == param;
};

    $().ready(function() {
    var validator = $("#texttests").bind("invalid-form.validate", function() {
        $("#summary").html("Your form contains " + validator.numberOfInvalids() + " errors, see details below.");
    }).validate({
        debug: true,
        errorElement: "em",
        errorContainer: $("#warning, #summary"),
        errorPlacement: function(error, element) {
            error.appendTo( element.parent("td").next("td") );
        },
        success: function(label) {
            label.text("ok!").addClass("success");
        },
        rules: {
            "data[User][number]": {
                required:true,
                minlength:3,
                maxlength:15,
                number:true 
            },
            "data[User][secret]": "buga",
            "data[User][math]": {
                equal: 11   
            }
        },
                    submitHandler: function(form) {
                        form.submit();
                    }


    });

});

上面只对前三个输入进行客户端验证,但我在这种情况下的最后一个输入可能需要检查用户名是否唯一。我如何能够对服务器进行 ajax 调用?我只是在那部分感到困惑。希望有人可以指导我。

【问题讨论】:

    标签: jquery-plugins jquery jquery-validate cakephp-1.3


    【解决方案1】:

    jQuery validate 有一个特定的服务器端验证规则(远程)

    http://docs.jquery.com/Plugins/Validation/Methods/remote#options

    上面的页面包含您发出请求所需的所有信息,第二个示例几乎就是您的用例。

    远程脚本应该只返回文本,无论是真还是假。
    请参阅此页面:

    http://jquery.bassistance.de/validate/demo/milk/

    打开您的 firebug/chrome 控制台并在您填写电子邮件地址并单击提交后查看请求。

    祝你的项目好运。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 2012-09-06
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多