2014-01-17 5 views
2

У меня есть представление, в котором отображаются все ошибки проверки при входе в систему, и он работает нормально, однако я хотел бы добавить еще одну ошибку проверки, если адрес электронной почты/пароль неверен. Я следил за некоторой информацией, но, похоже, она не работает.Как добавить пользовательскую ошибку?

$validation = Validator::make(Input::all(), array(
    'email' => 'required|email', 
    'password' => 'required|min:6' 
)); 

if ($validation->fails()) { 
    // These errors work just fine and are showing 
    return Redirect::to('login')->withErrors($validation); 
} 

// .. some code to check user credentials etc.. 

// Here I want to imitate validation error 
// I don't even have "workaround" on my form so it should always be null 
// But the errors won't show 
$validation = Validator::make(Input::all(), array('workaround' => 'required'), array('workaround' => 'Wrong email and/or password.')); 
$validation->fails(); 
return Redirect::to('login')->withErrors($validation); 

Посмотреть

@if (count($errors) > 0) 
    <div class="errrors"> 
     <ul> 
      @foreach ($errors->all() as $message) 
      <li>{{ $message }}</li> 
      @endforeach 
     </ul> 
    </div> 
@endif 
+0

Вы можете добавить собственные правила проверки путем расширения проверки подлинности. См. Http://laravel.com/docs/validation#custom-validation-rules для объяснения. – JackPoint

+0

@JackPoint Было бы намного проще, если бы я мог просто создать валидатор, который не пройдет. Мне нужно выполнить дополнительные задачи, в которых имя пользователя/пароль недействительны. – sed

+0

Что именно вы пытаетесь достичь здесь? Майбере есть более элегантный способ, потому что я не вижу смысла в проверке дополнительной формы, когда вход не проходит валидатор. – thpl

ответ

1

Сообщение здесь для проверки правильности workaround. Я думаю, вы ожидаете, что это будет для поля.

$validation = Validator::make(Input::all(), array('workaround' => 'required'), array('workaround' => 'Wrong email and/or password.')); 

Изменить его required связать правильное сообщение об ошибке проверки.

$validation = Validator::make(Input::all(), array('workaround' => 'required'), array('required' => 'Wrong email and/or password.')); 
+0

Спасибо. Это может быть не самое элегантное решение, как вы сказали, но я думаю, что лучше сделать это для этой простой задачи, а затем реализовать пользовательский валидатор. – sed

Смежные вопросы