Javascript jQuery验证插件远程规则中的if语句

Javascript jQuery验证插件远程规则中的if语句,javascript,jquery,forms,jquery-validate,Javascript,Jquery,Forms,Jquery Validate,我有两个表单:一个用于添加新用户,另一个用于修改用户数据 表单基本上是一样的,唯一的区别是在修改时不应该检查数据库中是否存在用户名字段 在Js文件中,我进行字段验证。其中一个验证是检查数据库中是否已经存在用户名。在修改中,不应考虑这一点 这就是为什么我这么想,但它不起作用: 我用divid来区分这两种形式 (查看代码段添加用户表单): <div id="add_user"> <form action="{site_url()}admin/updateFrontUser" i

我有两个表单:一个用于添加新用户,另一个用于修改用户数据

表单基本上是一样的,唯一的区别是在修改时不应该检查数据库中是否存在用户名字段

在Js文件中,我进行字段验证。其中一个验证是检查数据库中是否已经存在用户名。在修改中,不应考虑这一点

这就是为什么我这么想,但它不起作用:

我用divid来区分这两种形式

(查看代码段添加用户表单):

<div id="add_user">
  <form action="{site_url()}admin/updateFrontUser" id="form_sample_2" class="form-horizontal" method="post">
<div id="edit_user">
  <form action="{site_url()}admin/updateFrontUser" id="form_sample_2" class="form-horizontal" method="post">
远程规则应该检查用户名是否存在。该函数已经内置在我的admin.php中。在我做我提到的修改之前,它在以前工作过

所以,若要继续,如何仅为新用户使用远程规则(我的意思是,在使用添加表单时)?

请尝试下面的规则

$().ready(function() {

                $("#id_frm").validate({
                    rules: {

                        "id_question": {
                           required: true
                        },
                        "id_number": {


                            required: function(){ return $('input:radio[name=id_question]:checked').val() == 'Yes' },
                            minlength: 10,
                            minlength: 10
                        },
                        "contact_method": {
                             required: function(){ return $('input:radio[name=id_question]:checked').val() == 'No' }
                        }


                    },
                    messages: {
                        "id_question": {
                            required: "Please choose if you have an ID or not."
                        },
                        "id_number": {
                            required: "Please Enter ID."
                        },
                        "contact_method": {
                            required: "Please choose a contact method."
                        }               

                    },

            });


        });

你的意思是向元素的class属性添加“remote”(不带单引号)吗?我想知道是否可以在jquery的规则中添加if语句。你是指jquery验证的规则。您可以创建自己的规则,这样您就可以了。@MikeCheel no。。这不是我的问题。我知道我能做到,事实上我做到了。我只是想知道如何在规则中添加if语句。所以你指的是现有的规则。这取决于规则(毕竟它们只是开箱即用的“自定义”规则。“远程”规则接受一个使用jquery ajax选项的对象,这样您就可以在jquery ajax选项中的任何地方使用函数(或if)。因此我认为这是一个具体情况,取决于规则。
$().ready(function() {

                $("#id_frm").validate({
                    rules: {

                        "id_question": {
                           required: true
                        },
                        "id_number": {


                            required: function(){ return $('input:radio[name=id_question]:checked').val() == 'Yes' },
                            minlength: 10,
                            minlength: 10
                        },
                        "contact_method": {
                             required: function(){ return $('input:radio[name=id_question]:checked').val() == 'No' }
                        }


                    },
                    messages: {
                        "id_question": {
                            required: "Please choose if you have an ID or not."
                        },
                        "id_number": {
                            required: "Please Enter ID."
                        },
                        "contact_method": {
                            required: "Please choose a contact method."
                        }               

                    },

            });


        });