我在laravel验证请求中遇到了一个小问题。我想拒绝带有空格的用户名,比如foo bar。我只想允许没有空格的foobar。现在我的规则是required|unique:user_detail,username。我应该使用什么规则?谢谢
foo bar
foobar
required|unique:user_detail,username
vngu2lb81#
为什么不使用alpha_dash规则?
alpha_dash
required|alpha_dash|unique:user_detail,username
从文档中:要验证的字段可以包含字母数字字符以及短划线和下划线。而且它不允许空格。
rfbsl7qr2#
您可以使用自己的自定义规则扩展验证程序:
Validator::extend('without_spaces', function($attr, $value){ return preg_match('/^\S*$/u', $value); });
然后就像任何其他规则一样使用:
required|without_spaces|unique:user_detail,username
checkout 有关自定义验证规则的文档:https://laravel.com/docs/5.2/validation#custom-validation-rules
wfypjpf43#
您应该在验证中使用正则表达式。PHP程式码:
required|unique:user_detail,username,'regex:/\s/'
gmxoilav4#
您应该在验证中使用正则表达式。拉拉威尔:
'domain' => 'required|max:255|unique:users|regex:/(^[a-zA-Z]+[a-zA-Z0-9\\-]*$)/u',
eni9jsuy5#
用户名或子域的Laravel验证
"subdomain" => [ "regex:/^[a-zA-Z0-9]+$/", "required", "min:3","max:20","unique:subdomains", ],
5条答案
按热度按时间vngu2lb81#
为什么不使用
alpha_dash
规则?从文档中:
要验证的字段可以包含字母数字字符以及短划线和下划线。
而且它不允许空格。
rfbsl7qr2#
您可以使用自己的自定义规则扩展验证程序:
然后就像任何其他规则一样使用:
checkout 有关自定义验证规则的文档:
https://laravel.com/docs/5.2/validation#custom-validation-rules
wfypjpf43#
您应该在验证中使用正则表达式。
PHP程式码:
gmxoilav4#
您应该在验证中使用正则表达式。
拉拉威尔:
eni9jsuy5#
用户名或子域的Laravel验证