最近因为做一个相对封闭的校园论坛,想限制只有有学校邮箱的学生才能注册。翻了半天文档毫无发现,在这里看了一下@Triangle 大佬的一篇文章,一下子就了然了。
也是在/vendor/flarum/core/src/User/UserValidator.php
文件中40行的getRules()
方法。
protected function getRules()
{
$idSuffix = $this->user ? ','.$this->user->id : '';
return [
'username' => [
'required',
'regex:/^[a-z0-9_-]+$/i',
'unique:users,username'.$idSuffix,
'min:3',
'max:30'
],
'email' => [
'required',
'regex:/@xx.cn/',
'unique:users,email'.$idSuffix
],
'password' => [
'required',
'min:8'
]
];
}
将email选项里面的fliter
选项去掉,改为对应的正则表达式,最后再缓存即可。