Closed2

Rails - バリデーションについて

Ippei ShimizuIppei Shimizu

モデルレベルでバリデーションを設定するのが最適です。理由は、データベースに依存しないし、テストもメンテナンスもやりやすからになります。

【その他のバリデーション実行レベル】

  • データベースレベルのバリデーション
    バリデーションがデータベースに依存してしまい、テストや保守が大変になります。しかし、データベースを複数のアプリケーションで使用する場合、データベースレベルでのバリデーションも有効な手段となります。
  • クライアント側でのバリデーション
    バリデーション自体は扱いやすくなりますが、javascriptでバリデーションを実装するため、ユーザーがjavascriptをオフにしてしまうと、使用できなくなってしまいます。だだし、他の方法を併用するのであれば、ユーザーにバリデーション結果をすぐに返すことができるので有効な手段となります。
  • コントローラーレベルのバリデーション
    テストや保守が困難になります。
Ippei ShimizuIppei Shimizu

バリデーション実行時の動作

  • newメソッドで新しくオブジェクトを作成 → データベースには属していません。
  • saveメソッドを呼ぶ → オブジェクトはデータベースのテーブルに保存されます。
このスクラップは2023/08/16にクローズされました