Laravelのバリデーションでregexを指定すると、入力フォームで空欄が送信できなくなる。
Laravelを使って、入力フォームを作成しています。
バリデーションのルールで正規表現を使って、4桁の数字、または空欄を指定して、入力チェックを行いたいのですが、regexを指定した時点で空欄がバリデーションに引っかかってしまいます。
例えば、
$rules = [
'value1' => ['regex:/^\d{4}$/'],
'value2' => ['regex:/^(\d{4})?$/']
'value3' => ['regex:/^(\d{4}|\s*)$/'],
'value4' => ['regex:/^(\d{4}|\n*)$/'],
'value5' => ['regex:/^(\d{4}| *)$/']
];
このような方法は試しましたが、空欄で送信するとバリデーションに引っかかります。
この他にも考えられる方法は試してみましたが、出来ません。
そもそもregexを設定した時点で空欄も無効になっている気がします。
'value' => ['regex:/\s*/']
ちなみに\dを抜いて、↑のような方法や
'value' => ['regex:/.*/']
↑も試しましたが、両記とも全角スペースだと通りますが、半角スペース、空欄の場合はダメでした。
どのように設定すれば良いのでしょうか?