MENU

【スキルハックス】Railsでデータのバリデーションについて学ぶ!

今回はRailsでデータの範囲(今回は年齢)によってデータを追加したりしなかったりをするバリデーションについて学んでいきます。

Aさんの年齢180歳として送信しても何も設定をしていないので、データが追加されてしまいます。ちょっと180歳はまずいので、バリデーションをしていきます。

user.rbで上記のように書きます。

モデルをいじった時には、サーバーを閉じてから再起動をしないとエラーが起こるそうです。

年齢180歳で送信してみます。

ユーザ一覧に追加されませんでした。

おかしいデータが入力された時に、入力される前の状態に戻しましたとなっています。

さっきの状態だと分かりにくいので、if文を使って条件分岐をしていきます。

年齢305歳として送信します。

errorと表示することができました。

間違えてた…35歳だったと訂正して送信します。

ユーザ一覧に追加することができました。

『rails バリデーション』で検索をかけます。

『numericality』をクリックします。

『greater_than_or_equal_to』を使ってみます。

users.rbで『greater_than_or_equal_to』を使って18歳以上100歳未満だけデータが追加されます。

サーバーを止めて、再起動します。

15歳のデータを送信します。

errorとなりました。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次
閉じる