我有验证规则:
$rules = ['username' => 'required|string|alpha_dash']
我需要在验证中防止破折号,仅允许使用下划线,字母和数字。我该怎么办?现在alpha_dash允许破折号..
答案 0 :(得分:3)
如果您愿意,我建议使用regex
验证来获得更多自定义功能。请参阅https://laravel.com/docs/5.8/validation#rule-regex
'regex:/^[A-Za-z0-9_]+$/'
或更具体地说
$rules = ['username' => 'required|string|regex:/^[A-Za-z0-9_]+$/']
因为,根据文档alpha_dash
支持-
正在验证的字段也可以包含字母数字字符 破折号和下划线。
答案 1 :(得分:3)
您可以在验证中使用regex:pattern
。
$rules = ['username' => 'required|string|regex:/^[A-Za-z0-9_.]+$/']
答案 2 :(得分:0)
除了其他答案,您还可以创建自定义CentOS 6.5
遵循artisan命令将在validation rule
文件夹中创建一个新规则。
app\Rules\
字母数字
php artisan make:rule AlphaNumeric
控制器
class AlphaNumeric implements Rule
{
public function passes($attribute, $value)
{
return preg_match('/^[A-Za-z0-9_]+$/', $value);
}
public function message()
{
return 'your custom error message.';
}
}
此方法可用于创建更复杂,更灵活的验证。