2017-03-31 2 views
0

Das Problem, das ich habe, ist, habe ich mehrere Validierungsregeln auf meinem Geburtsdatum Feld.Wie SPECIFIC Laravel Validierungsfehler in Sicht anzuzeigen, nicht alle

 @if($errors->has('dob')) 
      <span id="helpBlock" class="help-block error"> 
       @foreach($errors->get('dob') as $message) 
        {{ $message }} 
       @endforeach 
      </span> 
      <script>$('#dob').addClass('formError');</script> 
     @endif 

Dies wird alle Fehler ausdrucken.

Ich möchte nur die 'erforderliche' Validierungsregel ausdrucken, wenn sie ausgelöst wird, ich handle die andere Validierung im Frontend.

+1

Dies beantwortet nicht wirklich Ihre Frage, aber Sie sollten wahrscheinlich nicht nur von der Front-End-Validierung abhängen. –

Antwort

1

ich das gleiche Problem wieder eine Weile hatte. Sie können die Fehlermeldung nur über die öffentlichen Methoden $ errors-> all(), $ errors-> get(), $ errors-> first() usw. aufrufen. Die ersten beiden Methoden geben numerische Arrays der Nachrichten zurück. Daher gibt es keine Möglichkeit, nach dem Validierungsnamen zu filtern. Am besten ist es, die Reihenfolge der Nachrichten anhand Ihrer Validierungsregeln zu kennen. Wenn also zum Beispiel "erforderlich" die zweite Regel ist, die für dieses Feld definiert ist, können Sie über den Index darauf zugreifen. So was.

@if($errors->has('dob')) 
     <span id="helpBlock" class="help-block error"> 
       {{ $errors->get('dob')[1] }} 
     </span> 
     <script>$('#dob').addClass('formError');</script> 
    @endif 

Sorry für schlechtes Englisch. Ich hoffe du verstehst. Einen schönen Tag noch.

1

die foreach entfernen und tun

{{ $errors->first('dob') }} 
+0

Können Sie sicher sein, dass die Regel "erforderlich" zuerst sein wird? –

+0

Falls erforderlich, wird zuerst die erste Regel erforderlich sein. – oseintow

Verwandte Themen