2017-08-23 7 views
0

Ich habe ein kleines Problem mit Registrierung Validierung Fehler in Laravel (5.4). Ich habe zwei Formulare für die Benutzerregistrierung (eine für reguläre und eine für geschäftliche Benutzer) in zwei Registerkarten unterteilt. Wenn jedoch die Validierung fehlschlägt, werden beide Formulare mit den zuvor eingegebenen Werten in den Feldern gefüllt, und Fehler werden in beiden Formularen angezeigt. Ich weiß, dass ich den MessageBag verwenden sollte, aber ich weiß nicht, wie man den Register-Controller ändert, um das zu tun. Könnte mir jemand helfen, das zu lösen?
Formulare haben unterschiedliche IDs, gleiche Aktion (/ Register).Registrierung von zwei Arten von Benutzern in 2 Formularen auf der gleichen Seite, um zu vermeiden, beide Formular Eingaben wiederzufüllen

Dies ist die Registrierung Schnipsel in der RegisterController

public function register(Request $request) 
 
    { 
 
     $this->validator($request->all())->validate(); 
 

 
     event(new Registered($user = $this->create($request->all(), $request))); 
 

 
     //$this->guard()->login($user); 
 

 
     return $this->registered($request, $user) 
 
      ?: redirect($this->redirectPath()); 
 
    }

+0

Zeigen Sie uns die Klinge mit dem Formular. Du machst wahrscheinlich '{!! Form :: stuff !!} '? – devk

+0

@devk Nein, reguläre html, habe ich gerade die Klinge als Antwort – Katerina

Antwort

-1

<form id="register-user" class="form-horizontal" role="form" method="POST" action="{{ url('/register') }}" enctype="multipart/form-data"> 
 
     {{ csrf_field() }} 
 
     <input id="usertype" type="hidden" class="form-control" name="usertype" value="2"> 
 
     <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}"> 
 
      <label for="name" 
 
        class="col-md-4 control-label">{{Lang::get('translations.name', array(), $locale)}}</label> 
 

 
      <div class="col-md-6"> 
 
       <div class="input-group"> 
 
        <span class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></span> 
 
        <input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required> 
 
       </div> 
 
       @if ($errors->has('name')) 
 
        <span class="help-block"> 
 
             <strong>{{ $errors->first('name') }}</strong> 
 
            </span> 
 
       @endif 
 
      </div> 
 
     </div> 
 
</form>

0

prüfen diese https://laravel.com/docs/5.4/validation#named-error-bags

 $validator = Validator::make($request->all(), [ 
      'name' => 'required', 
     ]); 

     if ($validator->fails()) { 
      return redirect('user/create') 
         ->withErrors($validator,'register-user') 
         ->withInput(); 
     } 

nur Validierungsregeln und URL der Seite setzen

+0

Ich fügte auch mit der Eingabe, cos Sie möchten, dass die Eingabe –

+0

gesetzt wird das Problem ist, dass Validator :: make ($ Daten, $ validateData); ist in der geschützten Funktion Validator (Array $ Daten), also, wenn ich den Validator überprüfen -> hier fehlschlägt, wenn ich die Validierungsfunktion im Register f-ion aufrufen, bekomme ich Fehler Methode [validate] nicht auf Redirect vorhanden. Ich weiß nicht, wo genau der Validator-> Fehler zu überprüfen ist – Katerina

Verwandte Themen