正如您所知,Laravel 5改变了您调用验证器的方式,旧的方式是调用
验证器facade
,但是现在在基本控制器类中有validateRequests
特性,但是validate
方法接受请求作为值数组,但是当您定义路由参数时,这些值未存储在请求中
,因此如何验证这些参数?
编辑:
路线:
Route::get('/react-api/{username}', 'ProfileController@getUsername');
控制器:
public function getUsername(Request $request, $username)
{
$v = $this->validate($request, ['username' => 'required']);
}
那么,问题是如何验证这个用户名参数?
public function listTurns($doctor_id, $limit, $offset){
$r = [
'doctor_id' => $doctor_id,
'limit' => $limit,
'offset' => $offset,
];
$validator = Validator::make($r, [
'doctor_id' => 'required|numeric|min:1|exists:doctors,id',
'limit' => 'required|numeric|min:1',
'offset' => 'required|numeric|min:0',
]);
}
马尼克斯的回答对我不起作用,我和伊利亚斯有同样的问题。问题是路由参数不能自动提供给FormRequest。我最终在特定的FormRequest类中重写了all()函数:
public function all()
{
// Include the next line if you need form data, too.
$request = Input::all();
$request['username'] = $this->route('username');
return $request
}
然后,您可以按正常方式对规则进行编码:
public function rules()
{
return [
'username' => 'required',
];
}
如果您计划直接在控制器方法中执行此操作,您可以执行以下操作:
public function getUser(Request $request)
{
$request->merge(['id' => $request->route('id')]);
$request->validate([
'id' => [
'required',
'exists:users,id'
]
]);
}
要在自定义FormRequest
类中执行此操作,请添加以下内容:
protected function prepareForValidation()
{
$this->merge(['id' => $this->route('id')]);
}
在您的规则
方法中:
public function rules()
{
return [
'id' => [
'required',
'exists:users,id'
]
];
}
下面的代码是Quarkus Microprofile API应用程序中控制器的一部分。 它返回分页的帐户列表。 当用户调用API时,提供了错误的“限制”或“偏移”类型,即: 就像它应该的那样?
可以在路由规则定义的时候调用validate方法指定验证器类对请求的数据进行验证。 例如下面的例子表示对请求数据使用验证器类app\index\validate\User进行自动验证,并且使用edit验证场景: Route::post('hello/:id', 'index/hello') ->model('id', 'app\index\model\User') ->valida
我的控制器中有请求,是MongoId的字符串版本。如果我使用无效的字符串格式(与MongoId格式不匹配)调用此请求,则该请求将一直执行,直到MongoDB调用抛出内部服务器错误。 我如何验证,例如或"ANWPINREBAFSOFASD"未被验证,并在我的请求中尽早停止 电流控制器endpoint: 该服务称为:
问题内容: 谁能告诉我如何在内验证? 我需要它来防止用户单击“保存”,除非同时输入了两个字段。 到目前为止,这是我的代码: 这是我用于验证电子邮件字段的功能: 问题答案: 这可以通过扩展:
参数验证功能 1 是基于 JSR303 实现的,用户只需标识 JSR303 标准的验证 annotation,并通过声明 filter 来实现验证 2。 Maven 依赖 <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.
在给定的json文档中,如何验证是否存在json路径? 我使用的是jayway jsonpath,代码如下 上述代码可能会引发以下异常 通用域名格式。乱穿马路。jsonpath。PathNotFoundException:路径:$['a.b.c']没有结果 为了缓解这种情况,我打算在尝试使用JsonPath读取该路径之前验证该路径是否存在。阅读 作为参考,我看了以下两个文档,但没有真正得到我想要的