不需要 Laravel 验证,但仍然像需要一样返回

Ski*_*est 4 validation laravel

Laravel 验证规则有一些小问题。即我已经设置了一个字段名称为“url”的表单。这个 url 需要是一个 URL,但不是必需的。

所以我有:

'url' => 'url',
Run Code Online (Sandbox Code Playgroud)

在验证规则中,但在提交时仍然返回 URL 是无效格式。但是我没有填写,也不是必须的。

这里有点困惑,我应该在这里注意什么?

cee*_*yoz 7

https://laravel.com/docs/5.6/validation#a-note-on-optional-fields

默认情况下,Laravel在应用程序的全局中间件堆栈中包含TrimStringsConvertEmptyStringsToNull中间件。这些中间件由 App\Http\Kernel class. 因此,如果您不希望验证器将空值视为无效,您通常需要将“可选”请求字段标记为可空。

所以,这个验证规则可以解决问题:

'url' => ['nullable', 'url']
Run Code Online (Sandbox Code Playgroud)