バリデーションとはバリデーションとは、入力された値がアプリケーションで決められたルールに従っているか検証することを指します。アプリケーションは、入力値がアプリケーションの仕様上許容される文字数を超えていないか、メールアドレスが有効なフォーマットで入力されているかなどを検証する必要があるでしょう。Railsアプリケーションでは、モデルクラスに対してバリデーションを定義することで、入力値の検証を行います。コントローラのアクションメソッド内で入力値の検証を行うこともできますが、モデル単位で守られるべき制約は、必ずモデルのバリデーションとして実装するようにしましょう。定義された制約が守られていることが保証されます。Recordでバリデーションの定義を行う場合、validatesクラスメソッドを使用します。validatesメソッドの引数には検証したいフィールド名を与え、どんな検証をするかや、検証を行う条件などのオプションをハッシュで与えます。endvalidatesメソッドでは必須チェックや数値チェックなど、複数の種類の検証を一度に定義することができます。endこれは以下の指定と同じ結果になります。endまた、以下のように複数のフィールドに対して一度に検証を定義することもできます。バリデーションの実行タイミングモデルクラスに定義されたバリデーションは、オブジェクトの保存前に自動的に実行されます。saveメソッドが呼び出されると、最初にモデルクラスに定義されたバリデーションが実行されます。検証に成功した場合、データベースへの登録、更新処理が実行され、戻り値としてtrueが返されます。1フィールドでも検証に失敗するとデータベースへの登録、更新処理は実行されず、戻り値はfalseを返します。3.2のEmployeeクラスを利用した以下のコードで確認することができます。falseバリデーションは以下の登録、更新を行うメソッドを呼び出した際に自動的に実行されます。以下のうち末尾に!がつくメソッドはバリデーションの検証に失敗した場合、ActiveRecord::RecordInvalid例外がraiseされます。createcreate!savesave!updateupdate_attributesupdate_attributes!以下にあげるようなメソッドはバリデーションを実行せずにデータベースに保存します。このようなメソッドを利用する場合、バリデーションが実行されないため、予期せぬデータを保存してしまう可能性があるので十分に注意して利用しましょう。decrement!decrement_counterincrement!increment_countertoggle!touchupdate_allupdate_attributeupdate_columnupdate_countersまた、saveメソッドでは以下のようにvalidateオプションをfalseに設定することでバリデーションをスキップすることができます。このオプションを指定する場合も保存されるデータに注意が必要です。false)データベースへの保存を行わずに、データの検証処理のみを実行したい場合もあるでしょう。valid?、invalid?メソッドを呼び出すことで、モデルのデータを保存せずに、バリデーションのみを実行することができます。valid?メソッドは、検証に成功した場合にtrue、いずれかの検証に失敗した場合にfalseを返します。invalid?メソッドはvalid?メソッドの逆で、検証を実行し、成功した場合にfalse、失敗した場合にtrueを返します。Textを触ってみた。