fr-itaya/laravel_training — pull request #8 by fr-itaya (2014-10-03 02:42:01+00:00)
Title: Laravel4製フォームのテスト- Validate on Model

## 概要
フォームのValidatorをテストします。

## TODO

###### Validate
- 目的：各項目はLaravelのバリデート機能を複数組み合わせている為、使われている各機能が動作しているか確認する
- テスト用の入力値をdataproviderで用意する
- 入力値パターンを設定する指針は下記の通り。
- `required`：対象にデータが存在するか？
- `max`：全角49字・50字・51字で試してそれぞれバリデータが弾くか否か？
- `regex_full_width_chars`：全角文字の正規表現に対象の文字列がマッチするか？
- `regex`(郵便番号のバリデートで使用)：数値のみの正規表現にマッチするか？
- `size`：n-1字, n字, n+1字の入力でn字のみバリデータが通るか？
- `exists`：DBに指定カラムが存在するか？
- `email`：emailの書式に合う|合わない値を入れてみて通るか？
- `requied_if`：特定のキーに期待する値が入っているか？

## 懸念点
1. Validatorを何処に設置するか
- Model?
- 別途パッケージを使用しない方法として、次のURLを参考にプロダクトコード修正中：http://daylerees.com/trick-validation-within-models
- Validatorクラスに作成していたCustom Validation(`regexFullWidthChars()`)がValidator::extend()で読み込めなくなっている
- Controller?
- テスト前はここに設置していた
- (Modelに移そうとした後の所感として)Controllerの方がValidatorクラスの諸メソッドが楽に使えるようなので、可能であればここでバリデートする形でテストしたいところ