javascript - Ajax 验证引擎 : Pass extra parameter

标签 javascript ajax jquery jquery-validation-engine

我正在使用 ajax ajaxNameCall 函数来检查数据库中是否存在用户名,然后在该用户名是否被使用时提醒用户。我有它的工作但是由于更新我需要额外的检查。如果管理员想要更新用户记录,则针对用户名运行检查会发现该用户已经存在并生成消息。我想传递一个额外的 userID 参数,这样我就可以避免这种情况。有什么方法可以使用 ajax 验证器中的 extraData 字段为其提供用户 ID?

从 users.php 调用 Ajax

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

验证引擎:

"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"
            },

我可以改为使用带有 extraData 字段的 ajaxUserCallPhp 函数来从我的表单中传入用户 ID 吗:

"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"
            },

如果是这样..我如何传递参数?通过玩弄它,我所能做的就是在 extraData 字段中对 userID 进行硬编码(这是无用的)。想不通 =(

最佳答案

Here is the implementation

在上面的文件提取中转到jQuery-Validation-Engine/demos/demoAjaxInlinePHP.html。

在您的本地机器上运行它。

我已经添加了隐藏的输入字段,它通过了文本字段的 ajax 验证。

希望这能解决您的问题:)

我修改了以下文件来完成这些事情:-

jquery.validationEngine-en.js

ajaxUserCallPhp 中,我添加了 "extraDataDynamic": ["#xyz"], 属性。

通过我所附的示例,您将理解实现。

关于javascript - Ajax 验证引擎 : Pass extra parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20420588/

相关文章:

javascript - dataTables JS Plugin响应宽度溢出设置div宽度

javascript - 以 TextArea 背景作为实时计数器的 TextArea 字符限制器

javascript - 如何使用循环获取这些数据?

jquery mobile data-theme 属性不能到处使用

javascript - 摆脱背景属性

jquery - 如何阻止ajax请求?

javascript - 复制和粘贴带有转义引号的字符串化对象时出现 JSON.parse 异常

javascript - 如何将 jquery datepicker 日期加载到 div 中显示

javascript - 重复注入(inject) Javascript 以进行 YouTube API 调用?

javascript - 带有 If/Else 语句的 Jquery 验证规则