如何通过ajax在提交表单上显示验证错误?

时间:2013-07-08 19:36:24

标签: jquery ruby-on-rails ruby-on-rails-3

我的表单有点复杂,一切都在着陆页上welcome/index.html.erb

此表单有两个标签:产品用户

在产品标签下,有以下功能:

  • 制作新产品
  • 显示产品列表

对于每种产品,都有以下选项:

  • 将用户添加到产品

当我点击创建新产品时,会打开div,其中包含新产品的格式。

我尝试使用client_side_validation但没有成功(从谷歌搜索看起来这个gem不支持rails 3.2.13)。

使用jquery提交表单时,如何显示验证错误?

this.submit(function() {
  //$('#createPolicy').slideToggle();
  $.post(this.action, $(this).serialize(), null, "script");
  return false;
})
return this;

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根本不需要ajax POST。如果submit函数返回falase,则不会重新加载页面。

$('#button').submit(function() {
  if($('input#field_1').val().length===0){
  $('.errors').text("Can't be blank") } 
  return false
  else if(#more conditionals) {

  } #...
  else{
return true}
})

这种方式验证适用于用户端和服务器端。如果你想通过AJAX请求来做,你应该在case case上提供方法的响应,这也需要返回页面的内容,如果是false,则提供错误的meassages。要做很多工作。我相信只有在您的验证基于数据库数据时才需要请求,例如唯一性。