0

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

此表单有两个选项卡:productsusers

在产品选项卡下有如下功能:

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

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

  • 将用户添加到产品

当我单击创建新产品时,会打开具有新产品表单的 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;

谢谢你的帮助。

4

1 回答 1

1

你根本不需要ajax POST。如果submit函数返回错误,页面将不会被重新加载。

$('#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时,提供错误信息。很多工作要做。我相信只有当您的验证基于数据库数据(例如唯一性)时才需要请求。

于 2013-07-08T21:40:29.803 回答