【发布时间】:2018-10-29 07:28:57
【问题描述】:
我正在尝试添加一个额外的验证规则来检查以确保用户名是一个单词。我创建了一个新规则(SingleWord),如下所示:
public function passes($attribute, $value)
{
$dd = strpos(trim($value), ' ');
if($dd !== false){
return false;
}
}
/**
* Get the validation error message.
*
* @return string
*/
public function message()
{
return 'Username must be one word';
}
我现在将此规则添加到验证器中,如下所示:
$validator = Validator::make($data, [
'name' => 'required|string|max:255|unique:merchants',
'email' => 'required|string|email|max:255|unique:merchants',
'password' => 'required|string|min:6',
'username' => 'required|string|unique:merchants',
'username' => [new SingleWord]
],[
'name.required' => "Company name is required",
]);
return $validator;
但即使我输入一个单词,验证器也会返回错误消息。请问这里有什么问题?
【问题讨论】:
-
能否分享一下错误信息?
-
可能是您没有从
function passes()明确返回true。如果您不返回某些内容,则默认返回值为null,这可能会被评估为 false。
标签: laravel