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

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

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