在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,
删除nullable可以很好地工作,但字段不是必需的。使用nullable属性时,我得到以下错误:
找不到要验证的属性:[0个]
有什么建议吗?非常感谢您花时间为我咨询
2条答案
按热度按时间jtw3ybtb1#
您可以在单个字符串管道中进行验证,也可以在数组中进行验证。
看看livewire validation docs。
slhcrj9b2#
我解决这个问题的方法是利用Livewire的
validateOnly
方法和一个 invokable 验证规则。可调用规则:
php artisan make:rule DelimitedEmail --invokable
编码: