【问题标题】:How to validate array in Request rules laravel?如何在请求规则 laravel 中验证数组?
【发布时间】:2022-01-18 08:04:24
【问题描述】:

我在 laravel 中创建验证请求,我必须验证电话号码数组。如何验证它。下面我分享:

Array that i pass in postman is:
    {
        "name": "test nbame",
        "phone_number": {
            "number": "+8896 5432",
            "internationalNumber": "+852 7896 5432",
            "nationalNumber": "+8896 5432",
            "e164Number": "+85278965432",
            "countryCode": "HK",
            "dialCode": "+852"
        },
        "designation": "xyz"
    }
   
public function rules()
        {
            return [
                'name'           => 'required',
                'dial_number'    =>  'required',
                'phone_number'   => 'required|regex:/(^[0-9 ]+$)+/',
                //'image'           =>  'required',
            ];
        }
    

如何验证 phone_number 数组。

【问题讨论】:

标签: laravel


【解决方案1】:

根据您的json,您可以执行以下操作

public function rules()
{
    return [
        'name'           => 'required',
        'dial_number'    =>  'required',
        'phone_number'   => 'required|array',
        'phone_number.number' => 'required|regex:/(^[0-9 ]+$)+/',
        'phone_number.internationalNumber' => 'required|regex:/(^[0-9 ]+$)+/',
        'phone_number.nationalNumber' => 'required|regex:/(^[0-9 ]+$)+/',
        'phone_number.e164Number' => 'required',
        'phone_number.countryCode' => 'required|string',
        'phone_number.countryCode' => 'required|string',
        'phone_number.dialCode' => 'required',
        //'image'           =>  'required',
    ];
}

欲了解更多信息,您可以访问laravel documentation

【讨论】:

    【解决方案2】:

    您正在对 Laravel 中的嵌套数组进行验证:

    public function rules()
            {
                return [
                    ...
                    'phone_number.number'   => 'required|regex:/(^[0-9 ]+$)+/',
                ];
            }
    

    docs 中了解更多信息。

    【讨论】:

    • 这个不行。在邮递员中,我通过电话号码数组如何验证国家号码和拨号代码
    • 参考我发布的文档。你应该找到你的答案。
    【解决方案3】:

    您将通过正则表达式检查号码。您会发现许多可能的电话号码变体。这意味着您需要一个非常灵活的正则表达式。正则表达式应该有多灵活取决于您。这是一个例子:

    'phone_number.number' => 'required|regex:/(^[0-9 ]+$)+/',

    【讨论】:

      猜你喜欢
      • 2017-12-06
      • 2020-06-06
      • 2019-10-09
      • 2020-07-17
      • 2018-05-18
      • 2017-07-09
      • 2021-02-15
      • 1970-01-01
      • 2018-06-03
      相关资源
      最近更新 更多