Laravel字符串长度规则验证:如何校验长度严格为6或8?
Laravel中验证字符串长度严格为6或8的实现方法
你可以通过两种常用方式实现这个验证需求:
方法一:使用正则表达式规则
利用Laravel的regex验证规则,匹配长度严格为6或8的字符串:
$request->validate([ 'target_field' => ['required', 'string', 'regex:/^.{6}$|^.{8}$/'], ]);
string确保字段值是字符串类型regex规则通过正则^.{6}$|^.{8}$精准匹配长度为6或8的内容,自动排除7字符的情况
方法二:使用自定义闭包验证
如果觉得正则不够直观,可以用闭包自定义验证逻辑:
$request->validate([ 'target_field' => [ 'required', 'string', function ($attribute, $value, $fail) { $length = strlen($value); if ($length !== 6 && $length !== 8) { $fail("The $attribute must be exactly 6 or 8 characters in length."); } }, ], ]);
这种方式逻辑清晰,便于后续扩展更复杂的验证条件。
内容的提问来源于stack exchange,提问作者flash star
相关产品推荐
相关产品推荐

