我正在尝试验证ActiveRecord中字段的格式。我希望此字段为空,或仅包含一系列数字(它包含数据库连接的可选端口号)。我正在尝试这个:
validates_format_of :port, with: /\A[0-9]*\Z/, message: 'Only numbers allowed'
但没有运气。我发现通过使用例如{1,6}类的工作来添加所需的数字,但是使该字段成为必需的。
有什么建议吗?
非常感谢,
约瑟夫。
答案 0 :(得分:5)
如果您希望验证只允许使用数字,那么您应该可以使用此功能:
validates :port, :numericality => {:only_integer => true}
答案 1 :(得分:2)
您可能想尝试验证字段的数字性,如下所示:
validates_numericality_of :port, :only_integer => true
:only_integer将确保为:port输入的值是一个整数。
答案 2 :(得分:1)
您也可以添加allow_blank: true
答案 3 :(得分:0)
您也可以使用此语法
validates numericality: :only_integer