Rails - 如何使用JS验证表单并使用Ajax提交?

时间:2016-07-08 01:04:39

标签: javascript jquery ruby-on-rails ajax

我正在构建功能,允许用户评论我的网络应用中的内容。现在我有一个简单的javascript表单验证,它检查注释是否为空白且长度超过10个字符。如果不是,那么它会阻止使用preventDefault()提交表单并在屏幕上显示错误消息。如果没有错误,它允许表单提交并重新加载带有新评论的页面。

但是我想这样做,以便当您提交表单并且没有错误时,它使用Ajax将数据提交到数据库,然后使用jQuery在页面上插入注释,这样就不会重新加载页面。

我把它设置在我的表格上就像这样:

<%= form_for(@comment, html: { class: "form-general" }, remote: true) do |f| %>

并设置我的控制器以响应该请求,如下所示:

respond_to do |format|
  format.html { redirect_to request.referer }
  format.js
end

然而,有一个问题,即评论中出现错误。例如,如果注释少于10个字符,则错误消息将由我的javascript验证生成,但是即使出现错误,Ajax请求也已触发。

如何才能使它只有在评论有效时才会发送Ajax请求?

0 个答案:

没有答案