2013-05-24 2 views
1

Я новичок в Laravel и следующих работах, но мне это не кажется очень «Laravel». Мне просто нужно определить, какое правило проверки относится к сообщению (обязательно, по электронной почте , уникальный и т. д.):Обнаружение типа ошибки проверки в Laravel 4

@if ($errors->has('email')) 
    {{ $errors->first('email') }} 
    @if (strpos($errors->first('email'), 'has already been taken')) 
     {{ HTML::link('password', 'Need a reminder?', array(), FALSE); }} 
    @endif 
@endif 

Любые предложения?

Благодаря

+0

Валидатор в L4 теперь имеет метод 'fail()', который дает вам все ваши неудачные правила. –

+0

@AntonioCarlosRibeiro Отлично, спасибо. Как бы мне получить доступ к этому в представлении? В настоящее время у меня есть Redirect :: back() -> withInput (Input :: only ('email')) -> withErrors ($ user-> errors); Могу ли я просто перенаправить метод with() и передать массив ошибок и неудачных правил? –

ответ

1

В контроллере, было бы сделать что-то вроде этого (в зависимости от того, как он настроен)

контроллер

public function store() 
{ 
    $validator = Validator::make(Input::all(), array(
         'name' => 'Dayle', 
         'email' => 'required|min:5' 
        )); 

    if ($validator->passes()) 
    { 
     // Redirect to success page or something 
    } 

    return Redirect::back() 
      ->withInput() 
      ->withErrors($validator) 
      ->withFailed($validator->failed()) 
} 

затем на ваш взгляд

Просмотр

@if ($errors->has('email')) 
    The specific email rule that failed was: {{ $failed['email'] }} 
@endif 
Смежные вопросы