请问我如何仅在选择选项后才验证字段
parent
和service 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
”
答案 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?
方法。