我有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} %>');
答案 0 :(得分:1)
也许您可以使用jquery插件添加一些前端表单验证,例如formvalidator.net。如果数据不正确,您可以使用此方法来防止首先提交表单。
或者在您的update.js.erb中,您应该向用户发送一些反馈,说明数据存在问题的原因。