Обращение к валидации данных (корректное заполнение данных) в функции контроллера.
в функции 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'=>'Поле имя является обязательным',
];
}
}