Рубрики
Laravel-project MVC Laravel

Контроллер

Обращение к валидации данных (корректное заполнение данных) в функции контроллера.

в функции submit обращаемся к Request и вызываем функцию validate, в которую нужно передать один параметр, представляющий из себя массив полей, которые мы проверяем. Мы будем проверять одно поле subject и указываем какой метод проверки мы будем использовать.

Дополнительные проверки через символ |

  • required поле будет обязательным для заполнения
  • min:5 не меньше пяти символов
  • max:50 не больше пятидесяти символов
class ContactController extends Controller {
public function submit(Request $req){
 $validation=$req->validate([
'subject'=>'required|min:5|max:50'
]);
}
}

Создание отдельных файлов по валидации

  • Name придумывается исходя какую страницу валидация будет обрабатывать
  • валидация создаётся в папке app\Http\Requests
php artisan make:request NameRequest
class ContactRequest extends FormRequest{
@return bool
public function authorize(){
пользователь при false может отправлять данные не авторизуясь 
return false;
}
@return array
в функции rules прописываем правила validate, которая возвращает проверки
public function rules(){
 return [
'subject'=>'required|min:5|max:50'
];
}
}

Подключение к контроллеру отдельной валидаций

привязать класс отдельную валидацию в контроллере
use App\Http\Requests\ContactRequest;

вместо Request параметр теперь имеет тип ContactRequest и когда будут передаваться данные на страницу (пример ContactSubmit) сразу будет проходить обработка данных с проверкой которые поступают из (пример форма)
class ContactController extends Controller {
public function submit(ContactRequest $req){
}
изменение имени атрибута при выводе ошибок
public function attributes(){
return [
'name'=>'имя'
];
}
перевод конкретной ошибки на свой ответ
publuc function messages(){
return [
 'name.required'=>'Поле имя является обязательным',
];
}
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *