おーしまブログ

プログラミングやってます

<Ruby on Rails> 半角文字にバリデーションをかけて全角文字だけにする

こんにちは、おーしまです。

今回は、半角にバリデーションをかける方法についてです。


※バリデーションとは
tomo-bb-aki0117115.hatenablog.com



早速、コードがこちら

with_options presence: true, format: { with: /\A[ぁ-んァ-ン一-龥]+\z/, message: '全角文字を使用してください' } do
    validates :last_name
    validates :first_name
    validates :last_name_key
    validates :first_name_key
  end

with_options でバリデーションを重ね掛けしています。
今回でいうと、空欄半角文字(英語も)は禁止という事です。

 /\A[ぁ-んァ-ン一-龥]+\z/ 

\A~\z で最初から最後までという意味、
[ぁ-んァ-ン一-龥] で全角のひらがな、カタカナ、漢字だけOKという意味です。
(試したら、全角の英語もダメでした。)

message: '全角文字を使用してください'  

で半角文字があった時の警告文も表示させています。

validates :last_name
validates :first_name
validates :last_name_key
validates :first_name_key

で対象のカラムを記述しています。



今回はここまでです。
お疲れ〜

ここはどこ おれはだれ それに近いものがあんだよ 始めようとした奴らも迷い始めてる 怖がらせないでよ そりゃ甘くはないけど まだまだ 夢見ていい世界なんでしょ {UVERwould「ハイ!問題作」}