<?php
use Illuminate\Support\Facades\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\BasicController;
Route::get('/', [BasicController::class, 'index'])->name('home');
Route::get('/about', [BasicController::class, 'about'])->name('about');
Route::get('/contact', [BasicController::class, 'contact'])->name('contact');
Route::post('/contact', [BasicController::class, 'contact'])->name('contact.post');<?php
namespace App\Http\Requests;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
class ContactRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'name' => ['required', 'min:5', 'max:100'],,
'email' => ['required', 'min:5', 'max:100', 'email'],
'subject' => ['required', 'min:5', 'max:100'],
'message' => ['required', 'min:5', 'max:10000'],//
];
}
public function messages(): array
{
return [
'name.required' => 'Пожалуйста, введите имя',
'email.required' => 'Пожалуйста, введите email',
'subject.required' => 'Пожалуйста, введите тему',
'message.required' => 'Пожалуйста, введите сообщение',
'name.min' => 'Имя должно быть не менее 2 символов',
];
}
}
@extends('layouts.main')
@section('header-title')
Контакты
@endsection
@section('content')
@if($errors->any())
<div class="block-error">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<h1>Контакты</h1>
<form action="{{ route('contact.post') }}" method="POST">
@csrf
<label for="name">Имя</label>
<input type="text" placeholder="Введите имя" name="name" id="name" value="{{ old('name') }}">
<label for="email">Email</label>
<input type="email" placeholder="Введите email" name="email" id="email" value="{{ old('email') }}">
<label for="subject">Тема сообщения</label>
<input type="text" placeholder="Введите тему" name="subject" id="subject" value="{{ old('subject') }}">
<label for="message">Сообщение</label>
<textarea name="message" id="message" placeholder="Введите сообщение">{{ old('message') }}</textarea>
<button type="submit">Отправить</button>
</form>
@include('includes.aside')
@endsection