JQuery Plug-in中只需要一个输入

时间:2011-10-28 14:55:39

标签: javascript jquery-plugins required

我有两个JQuery插件所需的输入(文本字段):

<input type="text" name="first_name" id="first_name" class="valid" />
&nbsp;<label class="error checked" generated="true" for="first_name">&nbsp;</label>
<input type="text" name="second_name" id="second_name" class="valid" />
&nbsp;<label class="error checked" generated="true" for="second_name">&nbsp;</label>

JQuery Plug-in

需要这两个
<script type="text/javascript">

jQuery.noConflict();

jQuery(document).ready(function(){

var validator = jQuery("#FormCmj").validate({
    rules: 
    {
        first_name: "required",
        second_name: "required",

    },
    messages: 
    {
        first_name: "Écrivez votre adresse postale s'il vous plait!",
        second_name: "Écrivez le nom de votre ville s'il vous plait!",          
    },      
                                        });
                        }
            );

我该怎么做:其中只需要一个输入:如果用户写第一个名字,不需要第二个名字,或者如果用户写下他的第二个名字,则不需要名字。< / p>

度过愉快的一天

1 个答案:

答案 0 :(得分:0)

  1. 添加此项以添加自定义验证方法:

    jQuery.validator.addMethod("eitherOne", function (value, element, param) {
        if (value !== "" || $(param.other).val() !== "") return true;
        return false;
    }
    
  2. 并使用此方法验证:

    jQuery(document).ready(function () {
    
        var validator = jQuery("#FormCmj").validate({
            rules: {
                first_name: {
                    eitherOne: {
                        other: "#second_name"
                    }
                },
                second_name: {
                    eitherOne: {
                        other: "#first_name"
                    }
                }
            },
            messages: {
                first_name: {
                    eitherOne: "Écrivez votre adresse postale s'il vous plait!"
                },
                second_name: {
                    eitherOne: "Écrivez votre adresse postale s'il vous plait!"
                }
            },
        });
    });