gpt4 book ai didi

javascript - AdonisJs 中的 not_required_when 验证器

转载 作者:行者123 更新时间:2023-12-02 22:11:00 24 4
gpt4 key购买 nike

我知道有一种方法可以扩展验证器来创建自己的验证规则。但我不知道该怎么做才能满足我的要求。也许我的目标可以通过任何现有的验证规则来实现

我的场景:

我有三个 Angular 色;说role_id=1、role_id=2、role_id=2

我有一个针对所有 Angular 色的基本注册规则,以及针对其特定字段的另一个规则对象。我需要为所有有条件的规则对象创建一个规则对象,这样我就不会在一个请求中单独验证每个规则(在用于注册所有 Angular 色的通用函数中)。这是我的方法;

basic_registration : {
display_picture: 'required',
first_name: 'required',
last_name: 'required',
role_id: 'required',
phone_number: 'required|max:15',
email: 'required|email|unique:users,email',
address: 'required',
state: 'required',
city: 'required',
zip_code: 'required',
password: 'required',
password_confirmation: 'required_if:password|same:password',
},
role1_specific_registration_rules : {
specific_type_id: 'required',
other_picture: 'required'
},

role2_specific_registration_rules : {
discount_code: 'required',
notification: 'required',
},
role3_specific_registration_rules : {
vehicle_id: 'required',
make: 'required',
},

然后我每次都对每个规则调用验证,有没有办法使用

email: 'not_required_when:role_id,1' // not required when role_id is 1
email: 'not_required_when:role_id,2' // not required when role_id is 2
email: 'not_required_when:role_id,1,3' // not required when role_id is 1 and 3

或任何使用方法(这似乎是正确的)

update

email: 'required_when:role_id,1' // working fine with one value 

email: 'required_when:role_id,1,2' // required when role_id is 1 **or** 2--this is only validating first value

或者嵌套的东西

email: 'required_when:role_id:in:1,2' // nested indicative use

或如 Laravel 中的 required_if 接受数组值 here

email: 'required_if:role_id,1,2' // as in laravel

最佳答案

您使用两次required_when像这样

email: 'required_when:role_id,1|required_when:role_id,2',

所需的电子邮件地址为 role_id =1 或 role_id=2这对我来说是有效的

关于javascript - AdonisJs 中的 not_required_when 验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59558898/

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