2016-05-13 6 views
1

Ich baue meine erste App mit Laravel 5.2 & Laravel Spark. Das vordere Ende ist Vue.js gebaut mit ich glaube, und trotz Zugabe folgend register-common-form.blade.php:Laravel Spark - Hinzufügen zusätzlicher Felder zum Registrierungsformular, aber wenn leer keine Fehler zurückgegeben werden

<!-- Username --> 
<div class="form-group" :class="{'has-error': registerForm.errors.has('username')}"> 
    <label class="col-md-4 control-label">Username</label> 

    <div class="col-md-6"> 
     <input type="name" class="form-control" name="username" v-model="registerForm.username" autofocus> 

    <span class="help-block" v-show="registerForm.errors.has('username')"> 
     @{{ registerForm.errors.get('username') }} 
    </span> 
    </div> 
</div> 

ich nicht wirklich einen Weg sehen zu voll, dass zusätzliches Feld zu registrieren, so dass es für die Fehlerbehandlung aufgenommen wird. Ich habe es so, dass das UserRepository das Feld handhabt und es einfügt, aber die Front-End-Fehler nicht richtig angezeigt werden können.

Kann jemand dabei helfen?

Antwort

0

Okay, ich stolperte schließlich über sie: D

In Laravel\Spark\Interactions\Auth\CreateUser.php gibt es eine $rules Methode wie folgt:

public function rules($request) 
    { 
     return [ 
      'name' => 'required|max:255', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|confirmed|min:6', 
      'vat_id' => 'max:50|vat_id', 
      'terms' => 'required|accepted', 
     ]; 
    } 

Alles, was ich getan habe, ist mein Benutzername Feld hinzufügen, und es funktioniert hervorragend!

public function rules($request) 
    { 
     return [ 
      'name' => 'required|max:255', 
      'username' => 'required|unique:users', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|confirmed|min:6', 
      'vat_id' => 'max:50|vat_id', 
      'terms' => 'required|accepted', 
     ]; 
    } 
+0

wenn wir das tun 'Funken: update', die Datei wäre ersetzt ... habe ich recht? –

+0

@ZaffarSaffee Ja, leider basiert dies auf Experimenten aufgrund fehlender Dokumentation am Anfang. Taylor hat dies nun als Kochbuch-Tutorial zur Spark-Dokumentation mit der richtigen Implementierung hinzugefügt –

0

Above Antwort ist nur für Prüfregeln Sie auch spark\src\Repositories\UserRepository.php navigieren müssen, und fügen Sie 'username' => $data['username'], zum create() Methode wie folgt:

public function create(array $data) 
{ 
    $user = Spark::user(); 

    $user->forceFill([ 
     'name' => $data['name'], 
     'username' => $data['username'], // ADDED THIS 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
     'confirmation_code' => str_random(30), 
     'last_read_announcements_at' => Carbon::now(), 
     'trial_ends_at' => Carbon::now()->addDays(Spark::trialDays()), 
    ])->save(); 

    return $user; 
} 
+0

Würde dies auch nicht durch eine Aktualisierung von Spark beeinflusst? Ganz anders als das, was Taylor hier gezeigt hat, von dem, was ich sehen kann - https://spark.laravel.com/docs/4.0/adding-registration-fields –

+0

Ich sehe keine Unterschiede in dem Link oder der Dokumentation: "Weiter, Wir müssen die neuen Benutzervalidierungs- und Speichermethoden von Spark anpassen, um mit unserem neuen Altersfeld umgehen zu können. " –

+0

Also ist das die 'booted' Methode im SparkServiceProvider? Ich frage nur, weil Sie 'spark \ src' in Ihrer Antwort erwähnen, die scheint, als ob sie mit einem Update überschrieben wird. –