【问题标题】:How to show validations error on submit form via ajax?如何通过 ajax 在提交表单上显示验证错误?
【发布时间】:2013-07-08 19:36:23
【问题描述】:

我的表格有点复杂,一切都在登陆页面welcome/index.html.erb。

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

在产品标签下有如下功能:

  • 创建新产品
  • 显示产品列表

对于每个产品,都有如下选项:

  • 将用户添加到产品中

当我点击 create new product 时,会打开 div,其中包含新产品的表单。

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

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

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

感谢您的帮助。

【问题讨论】:

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


【解决方案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 true时提供方法的response,这也需要返工页面的内容,在case false时,提供错误信息。很多工作要做。我认为只有当您的验证基于数据库数据(例如唯一性)时才需要请求。

【讨论】:

    猜你喜欢
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多