【发布时间】:2021-05-15 14:53:19
【问题描述】:
我的问题: 我正在使用 laravel 框架 php
我想验证一个字段,我的字段有时是文件(图像),有时是字符串(同一图像的 src)
Laravel 有什么捷径或解决方案吗???
【问题讨论】:
标签: php laravel validation laravel-validation laravel-request
我的问题: 我正在使用 laravel 框架 php
我想验证一个字段,我的字段有时是文件(图像),有时是字符串(同一图像的 src)
Laravel 有什么捷径或解决方案吗???
【问题讨论】:
标签: php laravel validation laravel-validation laravel-request
我使用这个代码示例。参加任何对你有用的部分。
$msg=[
'name.required'=>'<span class="badge">Name</span> is Required',
'username.required'=>'<span class="badge">User Name</span> is Required',
'born.required'=>'<span class="badge">User Name</span> is Required'
];
$request->validate([
'name'=>'required|string|min:2|max:30',
'username'=>'required|string|min:3|max:20',
'born'=>'required|date',
'image'=>'nullable|image|mimes:jpg,jpeg,bmp,png'
],$msg);
$msg 错误提示
您应该创建错误页面刀片名称错误包含
@if($errors->any())
{!! implode('', $errors->all('<div class="alert alert-danger">:message</div>')) !!}
@endif
///
在包含验证表单的刀片中写入顶部代码
@include('error')
如果存在任何错误,则包含错误页面以显示错误
【讨论】:
您的问题的具体细节并不完全清楚,但我认为您可以通过执行以下操作来管理您想要的内容:
$request->validate([
'stringOrFile' => [
function ($attribute, $value, $fail) {
if (!is_string($value) && !($value instanceof UploadedFile)) {
$fail('The '.$attribute.' must either be a string or file.');
}
}
]
]);
其中UploadedFile 指的是\Illuminate\Http\UploadedFile,stringOrFile 指的是您正在验证的输入的名称。
但是,如果可能的话,根据输入的内容为输入使用不同的名称,这样您就可以对每个不同的输入使用更复杂的验证规则。
更多关于这些验证规则的细节in the manual
【讨论】: