Ajax Validation Engine: передать дополнительный параметр

Я использую AJAX ajaxNameCall Функция, чтобы проверить, существует ли имя пользователя в базе данных, а затем предупредить пользователя, если это имя пользователя взято или нет. У меня это работает, но мне нужна дополнительная проверка из-за обновлений. Если администратор хочет обновить запись о пользователях, проверка выполняется для имени пользователя, который видит, что пользователь уже существует, и выдает сообщение. Я хочу передать дополнительный параметр userID, чтобы избежать этой ситуации. Есть ли способ использовать extraData поле в валидаторе ajax, чтобы дать ему userID?

Звоните в Ajax с users.php

userName: {
                    title: 'User Name',
                    list: false,
                    width: '15%',
                    list: true,
                    edit: false,
                    inputClass: 'validate[required,custom[onlyLetterNumber],maxSize[20],ajax[ajaxNameCall]]'
                },

ValidationEngine:

"ajaxNameCall": {
                // remote json service location
                "url": "scripts/validationEngine/ajaxValidateFieldName.php",
                // error
                "alertText": "* This name is already taken",
                // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                "alertTextOk": "* This name is available",
                // speaks by itself
                "alertTextLoad": "* Validating, please wait"
            },

Могу ли я вместо этого использовать функцию ajaxUserCallPhp с полем extraData для передачи userID из моей формы:

"ajaxUserCallPhp": {
                "url": "phpajax/ajaxValidateFieldUser.php",
                // you may want to pass extra data on the ajax call
                "extraData": "name=eric",
                // if you provide an "alertTextOk", it will show as a green prompt when the field validates
                "alertTextOk": "* This username is available",
                "alertText": "* This user is already taken",
                "alertTextLoad": "* Validating, please wait"
            },

Если так.. Как мне передать параметр? От игры с этим все, что я мог изменить, было жестко закодировать userID в поле extraData (которое бесполезно). Не могу понять это =(

2 ответа

Решение

Вот реализация

Перейдите к jQuery-Validation-Engine/demos/demoAjaxInlinePHP.html в приведенном выше извлечении файла.

Запустите его на своем локальном компьютере.

Я добавил скрытое поле ввода, которое передается с помощью Ajax проверки текстового поля.

Надеюсь, что это решит вашу проблему:)

Я изменил следующие файлы, чтобы добиться цели: -

jquery.validationEngine-en.js

В ajaxUserCallPhp я добавил "extraDataDynamic": ["#xyz"], имущество.

Пройдите пример, который я приложил, вы поймете реализацию.

Передать дополнительные параметры в проверку ajax с помощью проверки jquery

Другие вопросы по тегам