Pet*_*ter 5 validation ruby-on-rails
我通过传递上下文来更新记录:
employee.attributes = employee_params
employee.save(context: :age_related_fields)
Run Code Online (Sandbox Code Playgroud)
我知道在模型中我可以有条件地仅对给定的上下文应用验证
validates :date_of_birth, on: :age_related_fields
Run Code Online (Sandbox Code Playgroud)
但是有没有办法在:on条件中使用否定?例如
date_of_birth当上下文不是时验证:personal_fields。
对于您正在寻找的内容,rails 上有一个被拒绝的拉取请求。
https://github.com/rails/rails/pull/30710
不过,相同的任务也有一个解决方法:
validates :title, presence: true, unless: -> { validation_context == :test }
# or in your case
validates :date_of_birth, unless: -> { validation_context == :age_related_fields }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |