验证AJAX编辑/更新

时间:2016-02-24 10:12:18

标签: ruby-on-rails ajax validation

我有AJAX来创建新项目并在我的视图中更新它们。

我的模型验证使我无法在创建新模型时保存或提交。

但是,当我更新现有字段时,它只会停止保存它,但它会使用" new"呈现ajax更新表单。数据给人的印象是它被保存。

当我后来刷新时,我看到变化得到了回滚。但这只是我想要的一半行为。

我需要禁用提交按钮。我怎样才能做到这一点?

我的表单样式如下:

<%= f.text_field :name, required: true, class: "mdl-textfield__input" %>

我在模型中的验证看起来像这样:

validates_presence_of :name

我的edit.js.erb

$("#education_<%=@employee_education.id%>").replaceWith("<%= j render('new_employee_education_form')%>");

我的update.js.erb

$("#edit_employeeeducation_<%= @employee_education.id %>").replaceWith('<%= j render partial: "employeeeducation", locals: {employee_education: @employee_education} %>');

enter image description here

1 个答案:

答案 0 :(得分:1)

也许您可以使用jquery插件添加一些前端表单验证,例如formvalidator.net。如果数据不正确,您可以使用此方法来防止首先提交表单。

或者在您的update.js.erb中,您应该向用户发送一些反馈,说明数据存在问题的原因。