Laravel 5.2 自定义验证器未给出错误
Laravel 5.2 custom validator not giving error
验证器失败时我没有收到任何错误。我有一个函数,我想在其中验证请求 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 答案。
integration_domain
应该是 input
字段名称,而不是规则,如果它是规则,那么您应该将它与 required
连接起来,如下所示:
public function update(Request $request, RequestUser $user, $id)
{
$validatedData = $request->validate([
'input_variable_name' => 'required|integration_domain',
]);
//other stuff
}
对验证的基本了解。详情请见here
验证器失败时我没有收到任何错误。我有一个函数,我想在其中验证请求 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 答案。
integration_domain
应该是 input
字段名称,而不是规则,如果它是规则,那么您应该将它与 required
连接起来,如下所示:
public function update(Request $request, RequestUser $user, $id)
{
$validatedData = $request->validate([
'input_variable_name' => 'required|integration_domain',
]);
//other stuff
}
对验证的基本了解。详情请见here