環境
- 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: 文字列の末尾