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