Laravel,验证 alpha_dash 防止破折号

Maf*_*rif 4 php laravel

我有验证规则:

$rules = ['username' => 'required|string|alpha_dash']
Run Code Online (Sandbox Code Playgroud)

我需要在验证中防止破折号,只允许下划线、字母和数字。我该怎么做?现在 alpha_dash 允许破折号..

Alw*_*nny 6

regex如果你愿意,我会建议使用验证来获得更多的能力来在未来进行定制。见https://laravel.com/docs/5.8/validation#rule-regex

'regex:/^[A-Za-z0-9_]+$/'
Run Code Online (Sandbox Code Playgroud)

或更具体地说

$rules = ['username' => 'required|string|regex:/^[A-Za-z0-9_]+$/']
Run Code Online (Sandbox Code Playgroud)

因为根据文档alpha_dash支持-

验证字段可能包含字母数字字符以及破折号和下划线。