Laravel验证是否已选中复选框

时间:2019-07-19 05:22:59

标签: laravel laravel-5

Laravel版本:5.7

我想设置一个验证。如果选中此复选框,则设置“之间”规则。 就像下面一样。

required|integer|between:1,2

但是当未选中复选框时,无需遵循以下规则

required|integer

我尝试使用验证,但是我不知道如何设置。

输入

<input type="checkbox" name="checkbox">
<input type="number" name="number">

1 个答案:

答案 0 :(得分:0)

我不知道您是否在使用表单请求,因此这是使用Form request

进行验证的解决方案
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

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

    public function rules()
    {
        rules = [];
        if ($this->attributes->has('checkbox')) {
           $rules['key'] = 'required|integer|between:1,2',
        } else {
            $rules['key'] = 'required|integer',
        }

        // Your other validation rules here

        return $rules;
    }
    public function messages()
    {
        return [
            // Your custom validation messages here
        ];
    }
}
  

记住:您必须使用要验证的字段名称更改

希望有帮助。