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