我已经找了一段时间的解决方案,但我空洞了。
对于我的Bootstrap模式,我有一些与.on('shown'...)
绑定的jQuery逻辑。它负责修改选择选项和禁用字段,以及其他一些事项。一切都在工作,除非提交模态表单并且验证失败(验证在表单对象中,没有客户端验证)。模态会重新显示正确的错误,但我需要执行与'shown'
绑定的相同jQuery。
目前,当重新显示模态时,选择包含未修改的选项,例如,<%= f.input :city_id, collection: City.active ... %>
选择将显示:active
范围内的所有城市,但会显示'shown'
,我发送$.getJSON
请求以进一步细化选择中的城市列表,我需要能够在重新显示无效表单时执行此操作。
我不确定在我的问题中包含哪些其他代码可能有用,所以如果我应该添加其他位,请告诉我。我使用simple_form
,如果相关的话。
答案 0 :(得分:0)
由于您尚未添加代码,因此在回答此问题时可能非常有用。 仍然从你的解释,我似乎是,验证后如果它失败仍然你想执行一些JavaScript逻辑(显示/隐藏或做你想做的任何事情)..然后我认为你做这样的事情:
假设这是您验证失败的操作。
def create
@result = @record.valid?
#will be false if validation failed.
end
然后为该特定的aciton创建另一个create.js.erb文件..
#create.js.erb
<% unless @result %>
//write your js code here, whatever you wish to do after validation failure.
<% end %>