私はLaravel アプリケーションを研究していますが、このアプリケーションで奇妙な動作を見つけました。
このアプリケーションには、いくつかの Web フォームがあります。POST リクエストを処理するコントローラー メソッドのほとんどは、Validator::make()
ユーザー入力の検証に使用されますが、まったく使用しないメソッドが 2 つ見つかりましたValidator::make()
。
最初は、これら 2 つのフォームには入力の検証がないと思っていました。しかし、驚くべきことに、Web フォームでもユーザー入力を検証できることがわかりました。
例 1: (バリデーターを使用)
- コントローラの方法 1 (60 ~ 67 行目)
- コントローラの方法 2 (62 ~ 68 行目)
$rules = array(
'title' => 'required|min:3',
'content' => 'required|min:3'
);
...
$validator = Validator::make(Input::all(), $rules);
例 2: (バリデーターを使用しない場合)
- コントローラーの方法 3 (89 ~ 111 行目)
- コントローラメソッド 4 (27 ~ 47 行目)
$this->user->username = Input::get( 'username' );
$this->user->email = Input::get( 'email' );
$this->user->password = Input::get( 'password' );
...
$this->user->save();
例 2Validator
の関数が、 ?を使用せずにユーザー入力を検証できる理由を知りたいです。