【问题标题】:(Jquery Validate Plugin) How can be 1 of the form fields validate with ajax call and the rest fields with client validation?(Jquery Validate Plugin)如何使用 ajax 调用验证表单字段中的 1 个,使用客户端验证验证其余字段?
【发布时间】:2011-01-24 23:05:43
【问题描述】:

如何使用 ajax 调用验证表单字段中的 1 个,使用客户端验证验证其余字段? (我使用 Jquery + Jquery 验证插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/)

案例:

register.html

<form id="register" name="register">
firstname<input id="username" name="username"/>
user<input id="user" name="user"/>
phone<input id="phone" name="phone"/>
</form>

<script src="../lib/jquery.js" type="text/javascript"></script>
<script src="../jquery.validate.js" type="text/javascript"></script>
$('#register').validate(
{
rules: {
        firstname: "required",
        phone: "required"
  }
});

user_exist.php:

if ( userExist($_REQUEST['user']){
  echo 'success';
}
else{
  echo 'please choose another user'
}

我知道如何只验证名字和电话,但在提交之前应该由服务器验证的用户名我不知道。

请帮我对用户字段进行服务器 ajax 验证。 (我简化了代码) 谢谢

【问题讨论】:

  • IMO 单独调用验证是非常低效的。只需通过 AJAX 提交表单并返回错误并像验证失败一样处理它们(当然取决于错误)。但是,这不适用于包含上传字段的表单。在这种情况下,单独的验证请求是有意义的。

标签: jquery jquery-validate


【解决方案1】:

演示页面中有一个确切的示例:
http://jquery.bassistance.de/validate/demo/milk/

username: {
    required: true,
    minlength: 2,
    remote: "users.php"
},

只要记住echo "true"; 在您的服务器端成功

【讨论】:

  • 谢谢! 1. 服务器消息如何显示失败 2. 我尝试查看您示例的服务器代码,但它不适合我(Ubuntu firefox)
  • @Yose:检查我发布的链接的来源以检查如何处理远程消息,至于第二点,这只是一个例子,但here's无论如何@文件。
  • 非常感谢!我仍然只能成功从服务器获取真/假消息
  • @Yose:当然!否则插件将无法验证该字段!为什么需要从服务器发送消息?!
猜你喜欢
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-08
  • 2018-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多