使用jquery验证django中的表单

时间:2012-07-11 12:55:38

标签: javascript jquery ajax django django-templates

我有以下代码使用jquery验证表单我不知道为什么它不起作用?

jQuery(function(){
    jQuery("#task_name").validate({
        expression: "if(VAL) return true; else return false;", message: "please enter task name" 
    });
    jQuery("#task_city").validate({
        expression: "if ( VAL) return true; else return false;", message: "please enter task  city"
    });
    jQuery("#task_address").validate({
        expression: "if (VAL) return true; else return false;", message: "please enter task   address"
    });
    jQuery("#task_desc" ).validate({
        expression: "if (VAL) return true; else return false;", message: "please enter task   desc"
    });
    jQuery("#task_price").validate({
        expression: "if (VAL) return true; else return false;", message: "please enter task  price"
    }); 
});

2 个答案:

答案 0 :(得分:1)

根据jQuery Validation plugin documentation,您必须使用messages而不是message

该插件同时适用于整个表单,而不是一个表单字段,请仔细阅读文档。

根据文档,这样的事情对你有用:

jQuery(function(){
    /* You do not need to use jQuery instead of $ inside of a jQuery declared function */
    $("#form_id").validate({
        rules: {
            /* #task_name name */
            name1: "required",
            /* #task_city name */
            name2: "required",
            /* #task_address name */
            name3: "required",
            /* #task_desc name */
            name4: "required",
            /* #task_price name */
            name5: "required"
        },
        messages: {
           name1: "please enter task name",
           name2: "please enter task city",
           name3: "please enter task address",
           name4: "please enter task desc",
           name5: "please enter task price",
       }
    });
});​

答案 1 :(得分:0)

除了您可能已添加到表单的任何前缀之外,Django还将使用'id_'为表单字段添加前缀,以防止在具有相同字段的表单类之间命名冲突。我打赌你只是错误地通过ID引用字段。使用Firebug或类似的检查实用程序检查渲染模板的DOM,并确保使用正确的ID引用字段。