Laravel验证用户名不允许有空格

q9rjltbz  于 2022-11-18  发布在  其他
关注(0)|答案(5)|浏览(197)

我在laravel验证请求中遇到了一个小问题。我想拒绝带有空格的用户名,比如foo bar。我只想允许没有空格的foobar。现在我的规则是required|unique:user_detail,username。我应该使用什么规则?谢谢

vngu2lb8

vngu2lb81#

为什么不使用alpha_dash规则?

required|alpha_dash|unique:user_detail,username

从文档中:
要验证的字段可以包含字母数字字符以及短划线和下划线。
而且它不允许空格。

rfbsl7qr

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

wfypjpf4

wfypjpf43#

您应该在验证中使用正则表达式。
PHP程式码:

required|unique:user_detail,username,'regex:/\s/'
gmxoilav

gmxoilav4#

您应该在验证中使用正则表达式。
拉拉威尔:

'domain' => 'required|max:255|unique:users|regex:/(^[a-zA-Z]+[a-zA-Z0-9\\-]*$)/u',
eni9jsuy

eni9jsuy5#

用户名或子域的Laravel验证

"subdomain" => [
        "regex:/^[a-zA-Z0-9]+$/",
        "required", "min:3","max:20","unique:subdomains",
    ],

相关问题