Ruby on Rails检查数据类型的长度限制

时间:2016-12-19 11:00:09

标签: ruby-on-rails ruby ruby-on-rails-4

我有一个Rails应用程序,我使用EveryValidator方法检查属性的长度并根据限制显示错误

验证就像这样

validates :name, :presence => {
      :message => 'Please enter name'
  }, :string => self.columns_hash["name"].type

现在在:string自定义验证我现在正在传递name列的数据类型,但我想传递数据类型长度。我怎样才能做到这一点?

3 个答案:

答案 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

将根据最大字符串和文本字段长度的架构生成验证。