If you get to a point where you need to add an ‘or’(|) pipe operator within a regex validation rule, you’ll notice that an error is thrown. I learnt that to overcome this, validation rules must be placed within an array. For example, lets say we have a validation rule which will check if a contact number starts with a certain number:

$request->validate([
    'email'          => 'required|email|unique',
    'contact_number' => 'regex:/0(7|1)[\d]+/'
]);

This will fail as it is trying to create a new validation rule just after the pipe. To solve this, the following is required:

$request->validate([
    'email'          => 'required|email|unique',
    'contact_number' => ['regex:/0(7|1)[\d]+/']
]);

This lets the validator know that all validation rules will be specified within individual array entries.

Hope this helps.