Laravel验证用户名不允许空格

时间:2016-06-14 03:26:56

标签: validation laravel

我在laravel验证请求中有一点问题。我想拒绝foo bar这样的空间用户名。我只想允许foobar没有空格。现在我的规则是required|unique:user_detail,username。我应该使用什么规则?感谢

3 个答案:

答案 0 :(得分:33)

为什么你不使用alpha_dash rule

required|alpha_dash|unique:user_detail,username

来自文档:

  

验证字段也可能包含字母数字字符   作为破折号和下划线。

它不允许空格。

答案 1 :(得分:10)

您可以使用自己的自定义规则扩展验证程序:

string query = "DELETE FROM practice WHERE P_Id='" + id + "'";

然后像其他任何规则一样使用:

Validator::extend('without_spaces', function($attr, $value){
    return preg_match('/^\S*$/u', $value);
});

查看有关自定义验证规则的文档:

https://laravel.com/docs/5.2/validation#custom-validation-rules

答案 2 :(得分:1)

您应该在验证时使用正则表达式。

PHP:

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