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.
CodePudding user response:
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.
CodePudding user response:
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
CodePudding user response:
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 ] $) /',
