ruby-on-rails - Ruby ActiveRecord : validate format of an integer field

标签 ruby-on-rails activerecord

我正在尝试验证 ActiveRecord 中字段的格式。我希望此字段为空,或仅包含数字序列(它包含用于数据库连接的可选端口号)。我目前正在尝试这个:

validates_format_of :port, with: /\A[0-9]*\Z/, message: 'Only numbers allowed'

但没有运气。我发现通过使用例如 {1, 6} 来添加所需的数字是可行的,但会使该字段成为必填项。

有什么建议吗?

非常感谢,

约瑟夫。

最佳答案

如果您希望验证以便只允许数字,那么您应该能够使用它:

validates :port, :numericality => {:only_integer => true}

关于ruby-on-rails - Ruby ActiveRecord : validate format of an integer field,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17799882/

相关文章:

mysql - 导轨 : specifying a different database in the model

mysql - 表中一定数量的列后 ActiveRecord 出现问题

mysql - 在 mac 上使用 rails3 安装 mysql2 gem 的问题

ruby-on-rails - 无法使用自定义设计策略

ruby-on-rails - 在 Rails 中使用辅助方法生成 li 标签失败

ruby-on-rails - 使用 RSPEC 进行测试时突然莫名其妙的事件记录连接超时

ruby-on-rails-3 - 查询中是否有 ActiveRecord 对象?

c# - 如何在 ActiveRecord 中将泛型类作为 ColumnType 传递?

ruby-on-rails - rails : Omniauth: Github provider doesn't quite work

ruby-on-rails - before_destroy 和依赖销毁不触发