# 追加機能 * 各モデルにバリデーションを追加しておきたい + [Railsバリデーションまとめ - Qiita](https://qiita.com/shunhikita/items/772b81a1cc066e67930e#%E9%95%B7%E3%81%95) + | 機能 | 名前 | | :--- | :---- | | 値の存在確認 | presence | | 値の非存在確認 | absence | | 値の一意性 | uniqueness | | 数値検証 | numericality | | 文字列長検証 | length | | 正規表現フォーマット | format | * なお値を空にしたくない場合はmodelでのpresence指定とDBでのNOT NULL指定のどちらもつけておいたほうが良いらしい。 + > モデルのバリデーションは、想定しうる入力の間違いをチェックするものですが、 > 自分が想定していなかったものはすり抜けてしまいます。 > 最後の砦、保険となるのが、DB側の制約です。 > > モデルを修正していくうちに、validate :name presence: true を > うっかり削除してしまうかもしれないし、 > 新規に作ったモデルで付け忘れる可能性もあります。 > > 重複しているように見えても役割は別物なので、モデルのバリデーションもDB側の制約もきちんと設定すべきです。 + [Ruby on Rails - railsでアプリを作っています。DBのnull:falseとモデルでのvalidatesでのpresence trueの違いを教えてください|teratail](https://teratail.com/questions/59911#reply-95490) <!--- ここはコメントアウト、必要に応じて外してください ---> <!--- ## 実装の方針 ---> <!--- * --->
追加機能