rails6 バリデーションを設定する

rails6 バリデーションを設定する

rails6でformの入力値にバリデーションを設定するまでの手順を記述してます。Railsのバージョンは6.1.1を使用してます。

環境

  • OS CentOS Linux release 7.9.2009 (Core)
  • Ruby 2.7.2
  • Rails 6.1.1
  • rbenv 1.1.2-40-g62d7798

アプリケーション作成

まずは、scaffoldを使用してアプリケーションの雛形を作成します。

テーブルも作成しておきます。

バリデーション設定

「app/models」配下にある「foo.rb」に以下の内容を追加します。

ここでは、titleを必須項目して未入力の場合はエラーを表示します。

titleを未入力の状態で「Update Foo」をクリックします。

エラーメッセージが表示されるようになります。

その他バリデーション

文字数制限

数値であるかどうか

日本語化

このままだとエラーメッセージが英語になっているので、カスタムバリデーションを使用して、日本語化します。

日本語化されていることが確認できます。