stringでのvalidate
$request->validate([
'title' => ['string', 'max:50']
]);
上記だと文字列で、50文字以内というバリデーションです。と思いきや、何も入力しないで送信するとstringのバリデーションに引っ掛かってしまう。
‘required’は入れてないのに、なぜ引っ掛かってしまうか?理由はstringで設定した場合、nullは許容していないからだ。それを解決するために以下のようにすればいいです。
$request->validate([
'title' => ['nullable', 'string', 'max:50']
]);
これでnull許容になりました。
こちらの記事を参照しました。
コメント