もふもふ技術部

Rails3 バリデーション


前回まではこちら

現在、データを登録する時にバリデーションチェックを全く行っていません。
そのため、全て空でも登録できてしまいます。

空チェック

入力必須項目の空チェックはよく使います。
モデルにこの一行を追加するだけでOK。

この場合、名前と性別の入力チェックが行われます。

入力一致

パスワードを入力した後にもう一度同じパスワードを入力させる場合もよくあります。
Eメールを登録させる場合もこの手法が一般的ですね。

今回は、Eメールの入力一致バリデーションを作ってみます。
Eメールの項目を追加します。追加の仕方はこちらを見てください.

入力一致のバリデーションを実装したい場合、
入力チェックするシンボルの後ろに_confirmationを付け加えます。

また、こんな風にするとformatのチェックも同時に行ってくれます。

この正規表現は適当です(笑)

続いて、ビューの設定です。

独自バリデーション

独自のバリデーションチェックを行い時もあります。
新たにvalidationクラスを作成したりする方法もあるのですが、
今回は、モデルにバリデーションメソッドを作り、
そのメソッドの中でバリデーションチェックを行います。

この場合、addressに5文字以上の文字を入力した場合にエラーを返します。
:too_longは「config/locales/ja.yml」の中で記述してあるのを使っています。

ja.ymlについては、「rails バリデーション 日本語化」とかのワードでggってください。

結果。
validate2

エラーメッセージを独自に作ろうと思って:messageで指定してやろうとしても
メッセージが日本語だと設定出来ない…。
モデルに書くとダメなのか…。

The following two tabs change content below.
根本 大幹

根本 大幹

社会人2年目。 今までブログ書いたことありません! 勉強は明日からがんばる。
根本 大幹

最新記事 by 根本 大幹 (全て見る)