Sergej Fomin
Sergej Fomin

Reputation: 2002

Laravel From Request Validaton doesn't show errors

My Laravel Framework is 5.4.19

I have followed the tutorial: http://www.easylaravelbook.com/blog/2015/08/17/creating-and-validating-a-laravel-5-form-the-definitive-guide/

and created form request file tours2_create_tableRequest.php:

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class tours2_create_tableRequest extends FormRequest
{

public function authorize()
{
    return true;
}

public function rules()
{
    return [
        'doc_fullnumber' => 'unique:tourists'

    ];
}

}

(it tests if "doc_fullnumber" from request has no duplicates in 'tourists" model)

I have added this code to the form blade.php file:

 @if($errors->count() > 0 )
    <div>
   @foreach ($errors->all() as $error)
      {{ $error }}
   @endforeach
    </div>
 @endif

it seems to me that validation works fine (it redirects the user back to create form page when "doc_fullnumber" is not unique), but it doesn't pass $errors variable.

I've browsed Stackoverflow and found several topics with the same problem. They suggest to wrap all my routes (in web.php) in:

Route::group(['middleware' => ['web']], function () {
});

I've done it, but it doesn't help...

here is the form page, actually (temporary): http://f832ee57.ngrok.io/tours_2/create (the "doc_fullnumber" field is the last one. You can add "2001" there to check validation).

my project on git: https://github.com/Sergey1983/first

Appreciate any help!

Upvotes: 2

Views: 99

Answers (1)

Alexey Mezenin
Alexey Mezenin

Reputation: 163948

To make the unique rule work, you need to have `'doc_fullnumber' field in DB or you need to specify a custom name field:

'doc_fullnumber' => 'unique:tourists,custom_fullnumber_field'

Upvotes: 1

Related Questions