验证属性的格式
使用 format
和 with
选项验证属性的值是否与正则表达式匹配。
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:
选项的正则表达式不匹配