validatesとは?
フォームに値や文字を入力するときに、必須の項目ってありますよね。

こんな感じの。会員登録の時、「必ず入力してください」っていう項目、誰でも一度は目にしたことがあると思います。
このように入力欄に制限をかける機能のことをvalidatesといいます。
例:空欄を拒否するvalidation
では、実際にコードを記述してvalidationを設定します。
validationはmodelファイルで設定します。
product.rb
class Product < ApplicationRecord
validates :name, presence: true
end
validates カラム名, バリデーションの条件
の記述でバリデーションを設定しました。
今回はproductモデルのnameカラムにpresence: trueというバリデーションをかけました。
presence: trueは空ではない
という条件のバリデーションです。これによりnameカラムに何らかの文字列が入ってないといけない状態になりました。
例:値を被らないようにするvalidation
次に同じ名前が被らないようnameカラムにバリデーションをかけます。
product.rb
class Product < ApplicationRecord
validates :user_name, uniqueness: true
end
uniqueness: trueでnameカラムの値がかぶることを防ぐことができます。
様々なバリデーション
バリデーションにはたくさんの種類があるので、以下の記事を参考にしてみてください