Laravel 8 验证 required_without
Laravel 8 validation required_without
我有三个字段
- 标题
- body
- 图片[]
需要 body 没有图像,所以我做了以下操作:
$request->validate([
'title' => 'required|string|max:' . (int) Setting::getValue('titlemaxchars'),
'body' => [
'required_without:images',
'string',
'min:'.(int) Setting::getValue('postminchars'),
'max:'.(int) Setting::getValue('postmaxchars'),
],
]);
if ($request->hasFile('images')) {
foreach ($request->file('images') as $file) {
Validator::validate(['photo' => $file], [
'photo' => ['required', 'file', 'image', 'max:2048'],
]);
}
}
以下问题:
- body.string
- body.min
- body.max
我不希望他们在有图片的情况下出现任何错误信息,只有在没有图片的情况下才会出现错误信息。
这对我有用!
$request->validate([
'title' => 'required|string|max:' . (int) Setting::getValue('titlemaxchars'),
]);
if(!empty($request->hasFile('images'))){
$request->validate([
'body' => 'nullable',
]);
}else{
$request->validate([
'body' => [
'required',
'string',
'min:'.(int) Setting::getValue('postminchars'),
'max:'.(int) Setting::getValue('postmaxchars'),
],
]);
}
我有三个字段
- 标题
- body
- 图片[]
需要 body 没有图像,所以我做了以下操作:
$request->validate([
'title' => 'required|string|max:' . (int) Setting::getValue('titlemaxchars'),
'body' => [
'required_without:images',
'string',
'min:'.(int) Setting::getValue('postminchars'),
'max:'.(int) Setting::getValue('postmaxchars'),
],
]);
if ($request->hasFile('images')) {
foreach ($request->file('images') as $file) {
Validator::validate(['photo' => $file], [
'photo' => ['required', 'file', 'image', 'max:2048'],
]);
}
}
以下问题:
- body.string
- body.min
- body.max
我不希望他们在有图片的情况下出现任何错误信息,只有在没有图片的情况下才会出现错误信息。
这对我有用!
$request->validate([
'title' => 'required|string|max:' . (int) Setting::getValue('titlemaxchars'),
]);
if(!empty($request->hasFile('images'))){
$request->validate([
'body' => 'nullable',
]);
}else{
$request->validate([
'body' => [
'required',
'string',
'min:'.(int) Setting::getValue('postminchars'),
'max:'.(int) Setting::getValue('postmaxchars'),
],
]);
}