gpt4 book ai didi

使用规则对象 : Access other fields or validator 的 Laravel 自定义验证

转载 作者:行者123 更新时间:2023-12-05 04:42:51 27 4
gpt4 key购买 nike

我正在使用来自 Laravel 8 的规则对象

artisan make:rule RequireBetweenOf

参见 https://laravel.com/docs/8.x/validation#using-rule-objects

如何访问其他字段或验证器?

我需要检查验证器中的其他数据。

我知道它如何用于 Validator::extend() 作为 4. 参数,但这不适用于 Illuminate\Contracts\Validation\Rule。我还看到有一个使用 request() 的答案。但这是一个 hack,因为验证器数据和请求可能不一样。可能根本没有请求。

最佳答案

长话短说

use Illuminate\Contracts\Validation\ValidatorAwareRule;
use Illuminate\Contracts\Validation\DataAwareRule;

class RequireBetweenOf implements Rule, DataAwareRule, ValidatorAwareRule

我发现密码规则正在使用验证器:\Illuminate\Validation\Rules\Password::setValidator。深入挖掘,这里使用了它:\Illuminate\Validation\Validator::validateUsingCustomRule

关键是这两个接口(interface):\Illuminate\Contracts\Validation\ValidatorAwareRule\Illuminate\Contracts\Validation\DataAwareRule

关于使用规则对象 : Access other fields or validator 的 Laravel 自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69767260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com