Laravel 正则表达式验证错误
Posted
技术标签:
【中文标题】Laravel 正则表达式验证错误【英文标题】:Laravel Regex Validation Error 【发布时间】:2017-10-16 11:20:16 【问题描述】:我在 Laravel 中使用正则表达式验证。但是会发生错误。我想控制,它是图像还是不是。图片扩展名可以是 .jpg、.png 或仅 .jp2。这是我的实现:
protected $rules = [
'preview_path' => 'required|regex:[^.*\.(jpg|png)$]',
'slide_path' => 'required|regex:[^.*\.(jp2)$]'
];
错误:
preg_match(): 没有找到结束匹配分隔符']'
编辑
我没有发送文件,我只是将字符串路径作为 json 发送。所以我不能使用 mime 类型验证。
【问题讨论】:
你为什么不使用mimes
呢? 'preview_path' => 'required|mimes:jpg,png' 'slide_path'=>'required|mimes:jp2'
@Rodrane 它是 REST API 部分,我将路径作为 json(字符串)而不是文件发送。哑剧不起作用。
你没有清楚地问你的问题,那么显然它们不是图像
检查我的答案
【参考方案1】:
这个应该可以的
protected $rules = [
'preview_path' => ['required|regex:/^.*\.(jpg|png)$/'],
'slide_path' => ['required|regex:/^.*\.(jp2)$/']
];
【讨论】:
【参考方案2】:您可以使用它进行比正则表达式更好的扩展验证 https://laravel.com/docs/5.4/validation#rule-mimes
【讨论】:
以上是关于Laravel 正则表达式验证错误的主要内容,如果未能解决你的问题,请参考以下文章