0

I create request in laravel for validation where i have to validate phone number array.How to validate it. Below i am sharing:

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',
            ];
        }
    

how to validate phone_number array.

  • Does this answer your question? [How to validate array in Laravel?](https://stackoverflow.com/questions/42258185/how-to-validate-array-in-laravel) – TheArKa Jan 18 '22 at 08:10

3 Answers3

1

Based on your json you can do something like below

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',
    ];
}

for more info you can visit laravel documentation

Dharman
  • 30,962
  • 25
  • 85
  • 135
Salman Zafar
  • 3,844
  • 5
  • 20
  • 43
0

You're validating against a nested array in Laravel:

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

Read more in the docs.

Mostafa Bahri
  • 2,303
  • 2
  • 19
  • 26
0

You will check the number by regex. You will find a lot of variants of possible phone numbers. That means that you need a regex which is very flexible. How flexible the regex should be depends on you. here is an example:

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

Maik Lowrey
  • 15,957
  • 6
  • 40
  • 79