phl*_*egx 6 validation ruby-on-rails dynamic
如何在rails中动态配置验证?例如,如果我有
validates_length_of :name, within => dynamic
Run Code Online (Sandbox Code Playgroud)
变量"dynamic"将由用户设置.在保存时,验证应使用变量"dynamic"的值来配置内部配置.
rya*_*anb 13
我不相信validates_length_of
支持动态参数.您需要在自定义验证中复制该行为.
# in model
def validate
unless (5..10).member? name.length
errors.add :name, "must be within 5 to 10 characters"
end
end
Run Code Online (Sandbox Code Playgroud)
它使用静态范围,但您可以轻松使用自己的自定义范围变量.
def validate
unless some_range.member? name.length
errors.add :name, "must be within #{some_range.first} to #{some_range.last} characters"
end
end
Run Code Online (Sandbox Code Playgroud)
您可能想查看我的日常活动记录系列中有条件验证和第3集的Railscasts剧集.
归档时间: |
|
查看次数: |
4960 次 |
最近记录: |