首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Laravel验证规则required_if另一个字段值在数组中,不起作用

是指在使用Laravel框架进行表单验证时,当指定字段的值在给定的数组中时,required_if规则无法正常工作的情况。

在Laravel中,required_if规则用于指定某个字段在满足特定条件时必须存在。通常情况下,我们可以使用required_if规则来验证某个字段是否必填,但是当需要判断字段的值是否在一个数组中时,有时候required_if规则可能会出现不起作用的情况。

解决这个问题的方法是使用自定义验证规则。我们可以通过创建自定义验证规则来实现对字段值是否在数组中的验证。下面是一个示例的自定义验证规则的代码:

代码语言:txt
复制
namespace App\Rules;

use Illuminate\Contracts\Validation\Rule;

class InArray implements Rule
{
    protected $array;

    public function __construct($array)
    {
        $this->array = $array;
    }

    public function passes($attribute, $value)
    {
        return in_array($value, $this->array);
    }

    public function message()
    {
        return 'The selected :attribute is invalid.';
    }
}

然后,在进行表单验证时,我们可以使用这个自定义验证规则来验证字段的值是否在数组中。示例代码如下:

代码语言:txt
复制
use App\Rules\InArray;

$request->validate([
    'field1' => [
        'required_if:field2,' . implode(',', $array),
        new InArray($array)
    ],
]);

在上面的代码中,我们首先使用required_if规则来判断字段的值是否在数组中,然后使用自定义验证规则InArray来进一步验证字段的值是否在数组中。

这样,就可以解决Laravel验证规则required_if另一个字段值在数组中不起作用的问题。

关于Laravel的表单验证规则和自定义验证规则的更多信息,可以参考腾讯云的Laravel文档:Laravel 表单验证

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券