Laravel 所有输入字段都是必需的
Laravel all input fields are required
我有大约 50 个输入字段,它们都是必需的。
有没有简单的方法来检查它们是否都已设置好?
因此,我不必使用 "required"?
的验证规则手动将每个字段放入我的模型中
目前无法避免在您的 rules()
方法中引用您的 50 个字段中的每一个,因为返回的数组通过这个:
/**
* Explode the rules into an array of rules.
*
* @param string|array $rules
* @return array
*/
protected function explodeRules($rules)
{
foreach ($rules as $key => &$rule)
{
$rule = (is_string($rule)) ? explode('|', $rule) : $rule;
}
return $rules;
}
您可以在此处的验证器构造函数中看到它:https://github.com/illuminate/validation/blob/master/Validator.php
我知道这已经晚了,但我自己写了一个简单的函数来解决这个问题
foreach ($request->except('_token') as $data => $value) {
$valids[$data] = "required";
}
$request->validate($valids);
祝你好运!
foreach($req->except('_token') as $data=>$value){
$valids[$data] = "required";
}
$validator= validator($req->all(),$valids);
if ($validator->fails()) {
foreach($validator->messages()->getMessages() as $key=>$val){
$response["$key"]=$val;
}
return response()->json([
'success' => 0,
'errors' =>$response,
]);
您也可以像这样使用 Facades
中的 validator
:
try {
foreach ($request->except('_token') as $data => $value) {
$valids[$data] = "required";
}
$validator = validator($request->all(), $valids);
if ($validator->fails()) {
foreach ($validator->messages()->getMessages() as $key => $val) {
$response["$key"] = $val;
}
return redirect()->back()
->withErrors($response)
->withInput();
}
}catch(\Exception $e){
die($e->getMessage()) ;
}
您可以使用下面的代码。这对我来说很有用,可以使所有请求字段成为必填字段。
$request->validate([
'*' => 'required',
]);
我有大约 50 个输入字段,它们都是必需的。 有没有简单的方法来检查它们是否都已设置好? 因此,我不必使用 "required"?
的验证规则手动将每个字段放入我的模型中目前无法避免在您的 rules()
方法中引用您的 50 个字段中的每一个,因为返回的数组通过这个:
/**
* Explode the rules into an array of rules.
*
* @param string|array $rules
* @return array
*/
protected function explodeRules($rules)
{
foreach ($rules as $key => &$rule)
{
$rule = (is_string($rule)) ? explode('|', $rule) : $rule;
}
return $rules;
}
您可以在此处的验证器构造函数中看到它:https://github.com/illuminate/validation/blob/master/Validator.php
我知道这已经晚了,但我自己写了一个简单的函数来解决这个问题
foreach ($request->except('_token') as $data => $value) {
$valids[$data] = "required";
}
$request->validate($valids);
祝你好运!
foreach($req->except('_token') as $data=>$value){
$valids[$data] = "required";
}
$validator= validator($req->all(),$valids);
if ($validator->fails()) {
foreach($validator->messages()->getMessages() as $key=>$val){
$response["$key"]=$val;
}
return response()->json([
'success' => 0,
'errors' =>$response,
]);
您也可以像这样使用 Facades
中的 validator
:
try {
foreach ($request->except('_token') as $data => $value) {
$valids[$data] = "required";
}
$validator = validator($request->all(), $valids);
if ($validator->fails()) {
foreach ($validator->messages()->getMessages() as $key => $val) {
$response["$key"] = $val;
}
return redirect()->back()
->withErrors($response)
->withInput();
}
}catch(\Exception $e){
die($e->getMessage()) ;
}
您可以使用下面的代码。这对我来说很有用,可以使所有请求字段成为必填字段。
$request->validate([
'*' => 'required',
]);