如果选中复选框,则在 Laravel 验证之间



Laravel版本:5.7

我想设置验证。 选中复选框后,设置"介于"规则。就像下面一样。

required|integer|between:1,2

但是当未选中复选框时,规则之间不需要如下所示的规则

required|integer

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

输入

<input type="checkbox" name="checkbox">
<input type="number" name="number">
我不知道

您是否正在使用表单请求,所以这里有一个使用表单请求进行验证的解决方案

<?php
namespace AppHttpRequests;
use IlluminateFoundationHttpFormRequest;
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
        ];
    }
}

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

希望对您有所帮助。

最新更新