Rails バリデーション

admin member guest のいずれかを含む

validates :role, inclusion: { in: %w(admin member guest) }

空でない

validates :username, presence: true

ユニークな

validates :username, uniqueness: true

16文字まで

validates :username, length: { maximum: 16 }

半角英数

validates :username, format: { with: /\A[a-zA-Z0-9]+\z/i }