首页 > 解决方案 > 十六进制代码验证在 laravel 中不起作用

问题描述

我想验证一个颜色输入字段。我想使用正则表达式检查输入值是否为十六进制颜色。

'icon_color' => 'required|regex:^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$',

这是我制定的规则,但它给出了以下错误。

preg_match(): 没有找到结束分隔符 '/'

有人可以告诉我我做错了什么。建议表示赞赏。

标签: regexlaravelvalidationrules

解决方案


使用regex/not_regex模式时,可能需要在数组中指定规则而不是使用管道分隔符,尤其是当正则表达式包含管道字符时。请参阅 文档

所以,试试:

'icon_color' => ['required', 'regex:/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/']

推荐阅读