验证器失败时,我没有任何错误。我有一个要验证请求URL的功能。
public function update(Request $request, RequestUser $user, $id)
{
$this->validate($request, [
'integration_domain' => 'required',
]);
//other stuff
}
下面是我创建验证器的地方
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
\Validator::extend('integration_domain', function($attribute, $value, $parameters, $validator) {
if((strpos($parameters->input('url'), 'localhost') !== false) ||
(strpos($parameters->input('url'), 'http://localhost') !== false) ||
(strpos($parameters->input('url'), 'https://localhost') !== false) ||
(strpos($parameters->input('url'), '127.0.0.1') !== false) ||
(strpos($parameters->input('url'), 'http://127.0.0.1') !== false) ||
(strpos($parameters->input('url'), 'http://127.0.0.1') !== false))
return false;
return true;
});
}
}
我已经遵循this的答案。
答案 0 :(得分:2)
integration_domain
应该是input
字段名,而不是规则,如果是规则,则应使用required
将其连接起来,如下所示:
public function update(Request $request, RequestUser $user, $id)
{
$validatedData = $request->validate([
'input_variable_name' => 'required|integration_domain',
]);
//other stuff
}
它对验证的基本了解。有关更多详细信息,请参见here