Laravel 表单验证集规则,例如前两个字符是字母,后四个字符是数字,例如 AB1234
Posted
技术标签:
【中文标题】Laravel 表单验证集规则,例如前两个字符是字母,后四个字符是数字,例如 AB1234【英文标题】:Laravel form validation set rules like first two character are alphabet and last four character numeric like AB1234 【发布时间】:2021-11-25 12:00:50 【问题描述】:请帮助我,我是 laravel 的新手。我将表单验证设置为前两个字符是字母,后四个字符是数字。示例 AB1234
【问题讨论】:
您应该使用正则表达式创建自己的规则。见docs for creating a new rule。 /[A-Z]2[0-9]4/m ..使用 Laravel 验证器的正则表达式验证方法来验证您的值 【参考方案1】:正如 cmets 所说,您可以通过正则表达式来做到这一点:
$validated = $request->validate([
'some_col' => ['string', 'regex:/^[A-Z]2[0-9]4$/'],
// other rule
]);
根据docs,此规则使用preg_match
,因此您应该遵循preg_match
要求的相同格式。不要忘记使用 array 来指定规则(就像示例代码一样)。
【讨论】:
【参考方案2】:在验证器中使用正则表达式,
return Validator::make($data, [
'your_input' => [
'required',
'regex:/^[a-zA-Z]2[0-9]4+$/',
]
]);
您需要在正则表达式上添加 ^
和 $
以确保它匹配 First 2 和 4 End
【讨论】:
此代码正在运行,非常感谢。 不客气 :)以上是关于Laravel 表单验证集规则,例如前两个字符是字母,后四个字符是数字,例如 AB1234的主要内容,如果未能解决你的问题,请参考以下文章