我正在尝试使用jquery validateEngine插件验证多部分表单。 我可以正确地为所有字段验证表单,但是我想更进一步并使用内置的ajax验证。 我想检查名称与数据库相比是否唯一。这个函数正常工作,我得到了预期的结果,但是我无法提交表单,并且在表单上的firebug控制台中运行验证,即使所有字段都正确,它也会验证为false。
如果我删除了ajax验证,那么表单会正确验证,所以在这个脚本的某个地方设置了一个错误的标志,但我只是不知道在哪里看或过来它
验证初始化为:
if ($.validationEngine) {
form.validationEngine();
}
正如我所说,正常验证有效。
我已经将我的表格设置为:
class="input validate[required, ajax[ajaxNameCallPhp]]"
验证引擎中与此方法相关的脚本已更改为:
"ajaxNameCallPhp": {
// remote json service location
"url": "http://localhost/greenFees/includes/lib/greenFee/checkName.php",
// error
"alertText": "* This name is already taken",
"alertTextOk": "* This name is available",
"alertTextLoad": "* Validating, please wait"
},
对此问题的任何帮助
答案 0 :(得分:0)
好的 - 在firebug中记录脚本几个小时后设法让它工作......
反正。排序的罪魁祸首部分是使用另一个脚本 - 表单向导将表单转换为向导,它添加了一个下一个按钮,单击该按钮运行验证。出于某种原因,从那里调用时的验证与表单提交的行为不同。 使用ajax验证,如果名称正常,如果已经使用或验证时发出通知,则会显示一个标志。 解决方案1: 删除向导脚本,但表单没有正确行为 解决方案2:删除通知alertTextLoad - 看来验证是将此标志的存在视为错误而不是信息 - 删除它意味着我可以保留向导 TA