ruby-on-rails - 如何仅在选择选项时验证字段 - RAILS 5
问题描述
有人可以告诉我只有在选择一个选项时我如何验证一个字段
- 所以我有具有选项的选择器:
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
"
解决方案
你很亲近。您需要做的是进行条件验证(更多关于它的官方指南)。
您需要执行以下操作:
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?
方法。
推荐阅读
- amazon-web-services - 在 RDS 中创建数据库实例时 VPC 安全组的 IAM 策略
- angular - 返回旧步骤时,Angular Material Stepper 会导致 mat-formfield 验证动态表单
- android - Android如何处理mvvm架构中的recyclerview点击
- python - 最好的旅行蟒蛇
- javascript - reactjs在构造函数与属性中存储状态
- python - 当您不想中断时,如何在 python 3 中使用 for 循环 else 语句?
- php - 从 Codeigniter db 类获取编译的 WHERE 语句
- javascript - 在 webpack 上,webpackJsonp() 函数接受的参数是什么,它的作用是什么?
- javascript - react-native 字符串不需要的 NewLine
- mysql - 节点js中的非英文字符编码