表单验证逻辑一般放在 Controller 中。Laravel 提供了很多方便实用的验证方法,正则表达式是其中强力的武器。
管道规则 vs 数组
以下这三种方法是等效的。
$this->validate($request, [
'rc' => 'required|unique:run_lists|size:8',
'rc' => array('required', 'unique:run_lists', 'size:8'),
'rc' => ['required', 'unique:run_lists', 'size:8'],
]);
当使用 regex 规则时,你必须使用数组,而不是使用管道分隔规则,特别是当正则表达式含有管道符号时。
正则表达式验证
'rc' => ['required', 'unique:run_lists', 'regex:/^[ZBR]\d{7}$/']