如何在 Laravel 中设置非必需的验证规则?

我正在尝试在 Laravel 5.8 中进行一些表单验证,


但即使在没有required规则的字段上,它也会抛出错误......


例如:


request()->validate([

    'username' => ['required','alpha_num','max:40'],

    'email'   => ['email','max:100'],

]);

如果我将email表单上的字段保留为“空”(不是必需的),则它无法提交并显示此错误:The email must be a valid email address.


我不明白,为什么会发生这种情况?required当这是 Laravel 验证的行为时,规则的用途是什么?


来自 CodeIgniter 社区,这令人困惑。


我还应该nullable在可以为空的字段中包含规则吗?


蝴蝶刀刀
浏览 111回答 1
1回答

元芳怎么了

是的,您应该包含nullable在可以为空的字段中。当我第一次使用 Symphony(Laravel 基于它)时,我发现这有点棘手。如果向字段添加验证规则,则验证规则不允许使用null值,除非该字段也标记为nullable。您收到报告错误的原因是因为您正在强制该email字段通过email验证规则 - 当然,如果留空则不会。
打开App,查看更多内容
随时随地看视频慕课网APP