【问题标题】:if statement inside jQuery Validation plugin remote rulejQuery Validation 插件远程规则中的 if 语句
【发布时间】:2014-05-28 20:29:44
【问题描述】:

我有两种形式:一种用于添加新用户,另一种用于修改用户数据。

表单基本相同,唯一不同的是在修改用户名字段时不要检查数据库中是否存在。

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

这就是我想这个的原因,但它不起作用:

我用 div id 区分这两种形式。

(查看 sn-p add_user 表单):

<div id="add_user">
  <form action="{site_url()}admin/updateFrontUser" id="form_sample_2" class="form-horizontal" method="post">

(查看 sn-p edit_user 表单):

<div id="edit_user">
  <form action="{site_url()}admin/updateFrontUser" id="form_sample_2" class="form-horizontal" method="post">

然后:

(js文件sn-p)

var algo = $('.add_user', form2);

form2.validate({
            errorElement: 'span', //default input error message container
            errorClass: 'help-inline', // default input error message class
            focusInvalid: false, // do not focus the last invalid input
            ignore: "",
            rules: {
                username: {
                    required: true, 
                    minlength: 2,
                    maxlength: 15,
                    pattern: "[A-z](([\._\-][A-z0-9])|[A-z0-9])*[a-z0-9_]*",
                    remote: {

                        data: function(){

                            if (algo) {

                                url: '/admin/checkUsername';
                                type: 'POST';

                            }; 
                        }                               
                    }                    
                },

它应该检查用户名是否存在的远程规则。该功能已经内置在我的 admin.php 中。在我进行我提到的修改之前,它以前工作过。

所以要继续,我该怎么做才能只对新用户使用远程规则(我的意思是,当使用添加表单时)?

【问题讨论】:

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

标签: javascript jquery forms jquery-validate


【解决方案1】:

请尝试以下规则

$().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."
                        }               

                    },

            });


        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多