Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
в шаблоне перед формой прописан вывод ошибок валидации
@if(count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error}}</li>
@endforeach
</ul>
</div>
@endif
в контроллере следующее
class ContactController extends Controller
{
public function show(Request $request,$id=FALSE) {
if($request->isMethod('post')) {
$rules = [
'name'=>'required|size:5',
//'email'=>'required|email'
];
$this->validate($request,$rules);
dump($request->all());
}
return view('default.contact',['title'=>'Contacts']);
}
}
в web прописано
Route::match(['get','post'],'/contact/{id?}',['uses'=>'Admin\ContactController@show','as'=>'contact']);
Не видит ошибки скрипт. Соответственно не выводит их. В чем тут проблема? Код простой.
Метод show обрабатывает и get и post запросы это чтобы было совсем просто.
Изменено SZV (03.03.2019 17:06:18)
Не в сети
Насколько я понимаю, у тебя не отправляются данные с ошибкой в твой шаблон. То есть логика проста - если ошибка, то прерываем выполнение и идём показывать ошибку. Иначе выполняем код дальше.
Пример мой -
Контроллер.
if( $timeFrom > $timeTo ){
// Правило изменил, так как не соответствие полей на форме, но требуется что б ошибочные поля подсвечивались, и было понятное сообщение
$rule = ['period_from'=>' ','period_to'=>' ','message'=>'Дата в поле "период от" должна быть меньше даты "до"'];
return \Redirect::back()->withInput()->withErrors($rule);
}
Шаблон.
@if ($errors->all())
<div class="alert alert-danger">
@foreach($errors->all() as $error)
<p>{{ $error }}</p>
@endforeach
</div>
@endif
Изменено Alexandr5 (06.03.2019 15:00:51)
Не в сети
Нет не работает такой код. Хотя, конечно, ход Ваших мыслей мне нравится. Тут какая-то проблема в сессиях мне так кажется. Потому, что если валидация пройдена сессия сохраняется, если валидация не пройдена сессия не сохраняется. Получается валидация не пройдена и тут же происходит редирект, хотя сначала должна записаться сессия, потом осуществлен вывод ошибок и только потом редирект.
Изменено SZV (07.03.2019 06:27:44)
Не в сети
Страницы 1