我有一个Rails应用程序,我使用EveryValidator方法检查属性的长度并根据限制显示错误
验证就像这样
validates :name, :presence => {
:message => 'Please enter name'
}, :string => self.columns_hash["name"].type
现在在:string
自定义验证我现在正在传递name列的数据类型,但我想传递数据类型长度。我怎样才能做到这一点?
答案 0 :(得分:2)
请试试这个,
validates :name, :presence => {
:message => 'Please enter name'
}, :length => {
:maximum => columns_hash['name'].limit
}
让我知道它是否正常工作。
答案 1 :(得分:0)
validates :name, :presence => {
:message => 'Please enter name'
}, :length => { maximum: 255 } # 255 for a string data type
答案 2 :(得分:0)
如果我理解你的话,可以使用这个宝石:
gem 'validates_lengths_from_database'
然后在你的模型中简单地说:
validates_lengths_from_database
将根据最大字符串和文本字段长度的架构生成验证。