Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher les erreurs d'un formulaire

    19 septembre 2017 à 16:23:25

    Bonjour,

    Je cherche à afficher les erreurs d'un formulaire avec Laravel et Bootstrap.

    J'aimerai que mon champs ainsi que le label deviennent rouge lorsqu'une erreur est remarquée.

    Le problème est que je n'arrive pas à faire fonctionner la class 'has-error' de Bootstap.

    La première div (pour le name) utilise un helper que j'ai créé. Lorsque je k'utilise, j'ai l'erreur "Undefined variable: errors (View: /Users/toto/Sites/laravel-courses/laracarte/resources/views/contacts/create.blade.php)" 

    Les deux autres div (email et message) n'affichent pas la couleur de bootstrap pour les erreurs.

    Or en inspectant mon code dans Chrome, ma classe 'has-error' est bien présente.

    Voici mon code:

    Mon formulaire:

    @extends('layouts.default', ['title' => 'Contact'])
    
    @section('content')
    	<h1 class="text-center">Contact</h1>
    
    	<div class="col-md-8 col-md-offset-2 col-sm-10 col-sm-offset-1">
    		<form method="POST" action="" novalidate>
    			{{ csrf_field() }}
    
    			<div class="form-group {{ set_active_errors('name') }}">
    				<label for="name" class="control-label">Nom</label>
    				<input type="text" class="form-control" id="name" name="name" required>
    				{!! $errors->first('name', '<span class="help-block">:message</span>') !!}
    			</div>
    
    			<div class="form-group" {{ $errors->has('email') ? 'has-error' : '' }}>
    				<label for="email" class="control-label">Email</label>
    				<input type="text" class="form-control" id="email" name="email" required>
    				{!! $errors->first('email', '<span class="help-block">:message</span>') !!}
    			</div>
    
    			<div class="form-group" {{ $errors->has('message') ? 'has-error' : '' }}>
    				<label for="message" class="control-label">Message</label>
    				<textarea class="form-control" id="message" name="message" rows="10" cols="10" required></textarea>
    				{!! $errors->first('message', '<span class="help-block">:message</span>') !!}
    			</div>
    
    			<div class="form-group">
    				<button class="btn btn-primary btn-block">Submit enquired</button>
    			</div>					
    		</form>
    	</div>
    @stop

    Mon helper

    if(! function_exists('set_active_errors')) {
    	function set_active_errors($title) {
    		return $errors->has($title) ? 'has-error' : '';
    	}
    }

    Je remercie d'avance tous ceux qui répondront! :)



    -
    Edité par eclairia 21 août 2018 à 16:54:06

    • Partager sur Facebook
    • Partager sur Twitter
    "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" Mark Twain

    Afficher les erreurs d'un formulaire

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown