验证属性的格式

使用 formatwith 选项验证属性的值是否与正则表达式匹配。

class User < ApplicationRecord
  validates :name, format: { with: /\A\w{6,10}\z/ }
end

你还可以定义常量并将其值设置为正则表达式并将其传递给 with:选项。对于非常复杂的正则表达式,这可能更方便

PHONE_REGEX = /\A\(\d{3}\)\d{3}-\d{4}\z/
validates :phone, format: { with: PHONE_REGEX }

默认的错误消息是 is invalid。这可以通过:message 选项进行更改。

validates :bio, format: { with: /\A\D+\z/, message: "Numbers are not allowed" }

反过来也会回复,并且你可以指定值与 without:选项的正则表达式匹配