環境
- Rails 7.x
やりたいこと
全角カタカナのみを受け付けるバリデーションを実装したい。個人情報入力フォームの「ヤマダタロウ」みたいな。
コード
class User < ApplicationRecord validates :name, format: { with: /\A[\p{katakana}ー-]+\z/, message: "は全角カタカナのみで入力してください" } end
validates :name, format: { with: /\A[\p{katakana}ー-]+\z/, message: "は全角カタカナのみで入力してください" }
で name 属性に対して、指定した正規表現にマッチするかどうかのバリデーションを設定している。
\A
: 文字列の先頭[\p{katakana}ー-]+
: 全角カタカナ(\p{katakana})と長音記号(ー、-)が1文字以上続くパターン\z
: 文字列の末尾