в них требуется только один входной сигнал от двух плагинов JQuery - PullRequest
0 голосов
/ 28 октября 2011

У меня есть два ввода (текстовые поля), необходимые для подключаемого модуля 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

<script type="text/javascript">

jQuery.noConflict ();

jQuery (документ) .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!",          
    },      
                                        });
                        }
            );

Как я могу сделать: в них требуется только один ввод, два : Если пользователь пишет имя, второе имя не требуется или если пользователь пишет свое второе имя, имя не требуется.

Хорошего дня

1 Ответ

0 голосов
/ 28 октября 2011
  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!"
                }
            },
        });
    });
    
...