Ruby on rails 为什么数字验证允许+;象征?
我正在尝试向“手机号码”字段添加验证。我不希望用户在此字段中输入除整数以外的任何内容。因此,我使用了以下方法:Ruby on rails 为什么数字验证允许+;象征?,ruby-on-rails,Ruby On Rails,我正在尝试向“手机号码”字段添加验证。我不希望用户在此字段中输入除整数以外的任何内容。因此,我使用了以下方法: validates :mobile, numericality: { only_integer: true } 当我在字段中只输入加号时,就会立即显示错误。但是,如果输入+123或紧跟在加号之后的任何其他数字,则将保存该条目而不会引发错误。如何确保只接受整数?您可以按照以下步骤验证字段: validates :mobile, format: { with: /\A\d+\z/ }
validates :mobile, numericality: { only_integer: true }
当我在字段中只输入加号时,就会立即显示错误。但是,如果输入+123或紧跟在加号之后的任何其他数字,则将保存该条目而不会引发错误。如何确保只接受整数?您可以按照以下步骤验证字段:
validates :mobile, format: { with: /\A\d+\z/ }
但是:为什么不允许在手机号码中使用+
、-
、(
、)
和空格?如果允许它们匹配,请参阅主题:、和