在数组名称Laravel中验证

时间:2017-10-21 16:22:29

标签: laravel laravel-5.4

如何通过Id laravel进行验证

现在我在我的控制器中使用它。我的问题是在我的HTML中,我的输入类型文本就像这样

quantity_box[1]

好吧,正如你在我的html中看到的那样只检查我的第一个输入,如果我的 $this->validate($request, [ 'id_p' => 'required', 'id_c' => 'required', 'quantity_box'=>'required', ] 为空,它将返回错误偏移1,这不知道如何解决这个问题

holder.time.setText(user.getTime());

2 个答案:

答案 0 :(得分:3)

好吧,既然您要验证$ request变量,那么您应该验证输入名称。

如果您使用的是Laravel 5.2+,则可以像这样验证数组。

 $validator = Validator::make($request->all(), [
        'quantity_box.*' => 'required',
     ]);

答案 1 :(得分:1)

为了达到最佳效果,我建议使用 Laravel的5.5表单请求验证 laravel.com/docs/5.5/validation#form-request-validation

使用这种方式,您可以尽可能保持控制器代码的清洁。

首先,让我们在

中提出存储我们的验证和身份验证规则的请求
<?php 

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Auth;

class myQuantityBoxRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     * The user is always authorized here to make the request
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'quantity_box.*' => 'required'
        ];
    }
}

<强> myQuantiyBoxRequest.php

use App\Http\Requests\myQuantityBoxRequest;

public function postQuantityBoxData(myQuantityBoxRequest $request){
     // Do something after validation here
}

控制器功能示例

$this->validate()

你去吧。如果您使用此功能,它将验证输入,就好像您正在使用<?php $sql_insert = "INSERT INTO orders(`d_id`, `order_date`, `current-sales`, `closing-balance`, `pro_id`) VA