Laravel 的验证功能非常强大,基本上常见的需求都有对应的验证规则,对于一些的特殊的验证需求,Laravel 也提供了正则验证。
官方文档:
regex:pattern
注:使用 regex 模式时,如果正则中使用管道符 |,正则规则必须放在数组中。例如:
public function rules() { return [ 'username' => 'required|regex:/^[a-zA-Z0-9_-]{4,16}$/' ]; }
上面这个正则验证,是没有问题的(因为没有使用管道符 | ),但官方推荐的写法如下:
public function rules() { return [ 'username' => [ 'required', 'regex:/^[a-zA-Z0-9_-]{4,16}$/' ] ]; }
或者这样:
public function rules() { return [ 'username' => [ 'required', 'regex:/^[a-zA-Z0-9_-]{4,16}$/' ] ]; }