Ruby on rails Ruby ActiveRecord:验证整型字段的格式
我正在尝试验证ActiveRecord中字段的格式。我希望此字段为空,或者仅包含一系列数字(它包含数据库连接的可选端口号)。我目前正在尝试:Ruby on rails Ruby ActiveRecord:验证整型字段的格式,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在尝试验证ActiveRecord中字段的格式。我希望此字段为空,或者仅包含一系列数字(它包含数据库连接的可选端口号)。我目前正在尝试: validates_format_of :port, with: /\A[0-9]*\Z/, message: 'Only numbers allowed' 但是没有运气。我发现通过使用例如{1,6}来添加一个必需的数字是可行的,但是会使字段成为必需的 有什么建议吗 多谢各位 Joseph.如果您希望验证,以便只允许使用数字,那么您应该能够使用以下选项:
validates_format_of :port, with: /\A[0-9]*\Z/, message: 'Only numbers allowed'
但是没有运气。我发现通过使用例如{1,6}来添加一个必需的数字是可行的,但是会使字段成为必需的
有什么建议吗
多谢各位
Joseph.如果您希望验证,以便只允许使用数字,那么您应该能够使用以下选项:
validates :port, :numericality => {:only_integer => true}
您也可以只添加
allow\u blank:true
您可能需要尝试验证字段的数值性,如下所示:
validates_numericality_of :port, :only_integer => true
:只有_integer将确保为:port输入的值是整数。您也可以使用此语法
validates numericality: :only_integer
那很有魅力,谢谢!添加了
allow_blank:true
以完成验证。的可能重复项