У меня есть класс MyRequest , который содержит правила проверки параметров запроса.В поле «file» может быть null или string или file .Как я могу построить для него условия правила?
class MyRequest extends FormRequest
// ...
public function rules()
{
return [
// 'file' => 'image|max:20480', // need to combine this
// 'file' => 'nullable|string', // and this through OR
// 'file' => 'nullable|string|image|max:20480' // <- don't working (string not pass validation)
];
}
}
Я также создал собственное правило:
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Validator::extend('myCustomRule', function ($attribute, $value, $parameters, $validator) {
return !Validator::make([$attribute => $value], ['nullable|image|max:20480'])->fails()
|| !Validator::make([$attribute => $value], ['string'])->fails();
});
}
, и оно не сработало.Идея состоит в том, что я хочу использовать правила Laravel, а не писать собственную реализацию правил для проверки длины строки и т. Д.