首页 > 解决方案 > 如何在rails中禁用嵌套表单的服务器端验证

问题描述

我已经对嵌套表单进行了服务器端验证。每个都有模型并在给定的服务器端验证中。但是,在保存时的模型服务器端验证工作的主要形式,我已禁用它。但是,我也禁用了嵌套表单模型服务器端验证,但它不起作用。

 validates_presence_of   :user_mob, :message => 'please enter the mobile number.' ,unless: :skip_valid
    validates_presence_of   :address, :message => 'please enter the address.', unless: :skip_valid

//这是主模型

类 UserDetails< ActiveRecord::Base belongs_to :u_user_details, :foreign_key => 'u_id'

validates_presence_of :year, :message => 'please enter the details.', unless: :skip_valid
validates_presence_of :user_name, :message => 'please enter the details.', unless: :skip_valid
validates_presence_of :user_address, :message => 'please enter the details.', unless: :skip_valid
validates_presence_of :user_mobile, :message => 'please enter the details.', unless: :skip_valid
validates_presence_of :user_type, :message => 'please enter the details.', unless: :skip_valid

结尾

即使我给出了除非:在网状形式模型中的skip_valid。它不工作。如何禁用嵌套表单模型服务器端验证。

标签: javascriptjqueryruby-on-railsruby-on-rails-4

解决方案


validates_presence_of :year, :message => 'please enter the details.', if: ->(u) { u.commit == 'submit' or u.commit == 'approve' or u.commit == 'reapply' }

我们可以这样做。


推荐阅读