仅在选择选项后如何验证字段-RAILS 5

时间:2019-06-24 21:19:17

标签: ruby-on-rails

请问我如何仅在选择选项后才验证字段

  • 所以我有一个具有以下选项的选择器:parentservice provider
  • 选择service provider后,显示隐藏的选择器services
  • 我只想根据图像选择services(而不是选择service provider时)验证parent的存在

它会写成如下形式: validates_presence_of :category_service_id, presence: true, if: :category_segment_id?, message: "can't be blank

请问我对此有何建议 enter image description here

1 个答案:

答案 0 :(得分:1)

您非常亲密。您需要做的是进行条件验证(有关in the official guides的更多信息)。

您需要执行以下操作:

validates_presence_of :category_service_id, if: :service_provider?

# Marking the validation check method as private is optional, but recommended
private

def service_provider?
  <Your code to check if segment is service_provider comes here>
end
不需要

message,因为默认错误消息为can't be blank

我强烈建议您阅读上面链接中提到的文档,以更好地了解验证。

注意:如果您使用枚举在service_provider?service_provider之间进行决定,则不需要parent方法,因为默认情况下,枚举定义了option?方法。