Laravelのstringバリデーターについて
Laravel標準のLoginControllerを見ていたら、stringというValidatorが存在することを知りました。
ここです。
Foundation/Auth/AuthenticatesUsers.php#L62
ここです。
Foundation/Auth/AuthenticatesUsers.php#L62
$this->validate($request, [ 'email' => 'required|email|max:255|string', 'password' => 'required|string', ]);
公式ドキュメントを確認してみると以下の説明がありました
・・・型のチェック?
string The field under validation must be a string. If you would like to allow the field to also be null, you should assign the nullable rule to the field.https://laravel.com/docs/5.5/validation#rule-string
・・・型のチェック?
結局よくわからなかったので実装を確認します。
ここ。 https://github.com/illuminate/validation/blob/master/Concerns/ValidatesAttributes.php#L1312
ここ。 https://github.com/illuminate/validation/blob/master/Concerns/ValidatesAttributes.php#L1312
public function validateString($attribute, $value) { return is_string($value); }PHPのis_string関数を呼び出していました。
ということで、エラーチェックにいれておく分にはよさそうです。
パラメータに配列を渡された場合の想定外の動作などを防ぐことができそうです。
ちなみに、nullを許可する場合は’string|nullable’を指定する必要があります。
終わり。
パラメータに配列を渡された場合の想定外の動作などを防ぐことができそうです。
ちなみに、nullを許可する場合は’string|nullable’を指定する必要があります。
終わり。