【发布时间】:2021-04-24 04:53:52
【问题描述】:
在 Laravel Livewire 中,我添加了一个自定义 youtube 视频验证规则。它工作得很好,问题是我需要它可以为空,如果我添加了 validate nullable 它会给我一个错误,我找不到解决这个问题的方法。
输入:
<input wire:model="video" class="form-control" type="text" placeholder="Url youtube">
规则:
public function passes($attribute, $value)
{
return (bool) preg_match('/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=|\?v=)([^#\&\?]*).*/',$value);
}
验证:
'video' => 'nullable', new RuleYoutube,
删除可为空的可以正常工作,但该字段不是必需的。并且使用可为空的属性,我得到以下错误:
没有找到要验证的属性:[0]
有什么建议吗?非常感谢您花时间在我的咨询中
【问题讨论】:
-
语法不好。应该是
'video' => [ 'nullable', new RuleYoutube ],以确保两个规则都适用于视频 -
非常感谢,就是这样。如果你想发表你的答案,我会给你打分。
标签: laravel validation laravel-7 laravel-validation laravel-livewire