0
votes

I'm using Laravel 5.2

I have a form containing two fields, one for email address and the other for mobile number, so the user can sign up for my site.

Users are required to fill out at least one of these two fields. How can I validate posted data from this form using Laravel 5.2 ValidatesRequests trait in UserController? (as all controllers use ValidatesRequests trait in laravel 5.2)

Here is a sample but it forces user to fill both fields (whereas I'm only requiring them to fill out one of the two fields):

        $rules = [
        'mobile' => 'required',
        'email' => 'required'];
    $this->validate($request, $rules);
1

1 Answers

2
votes

Try this as per https://laravel.com/docs/5.2/validation#rule-required-without

$rules = [
    'mobile' => 'required_without:email',
    'email'  => 'required_without:mobile'
];

$this->validate($request, $rules);