TIF_NGANJUK_E41220418/app/Http/Requests/User/PesanBuketRequest.php

66 lines
2.5 KiB
PHP

<?php
namespace App\Http\Requests\User;
use Illuminate\Foundation\Http\FormRequest;
class PesanBuketRequest extends FormRequest
{
public function authorize(): bool
{
return true; // Pastikan ini true agar request diizinkan
}
public function rules(): array
{
return [
'id_buket' => 'required|exists:bukets,id_buket',
'nama' => 'required|string|min:3|max:30|regex:/^[a-zA-Z\s]+$/',
'no_wa' => 'required|numeric|digits_between:10,15',
'tgl_ambil' => 'required|date|after_or_equal:today',
'waktu_ambil' => [
'required',
'date_format:H:i',
'after_or_equal:09:00',
'before_or_equal:21:00',
],
'bukti_bayar' => 'required|image|mimes:jpeg,png,jpg|max:2048',
'request_khusus' => 'nullable|string|max:150',
'ucapan' => 'nullable|string|max:150',
];
}
public function messages(): array
{
return [
'required' => ':attribute harus diisi.',
'string' => ':attribute harus berupa teks valid.',
'min' => ':attribute terlalu pendek, minimal :min karakter.',
'max' => ':attribute terlalu panjang, maksimal :max karakter.',
'numeric' => ':attribute harus berupa angka.',
'digits_between' => ':attribute harus antara :min sampai :max digit.',
'regex' => ':attribute hanya boleh berisi huruf dan spasi.',
'date' => 'Format tanggal pada :attribute tidak valid.',
'after_or_equal' => ':attribute tidak boleh tanggal yang sudah lewat.',
'image' => ':attribute harus berupa file gambar.',
'mimes' => 'Format :attribute harus jpeg, png, atau jpg.',
'bukti_bayar.max' => 'Ukuran :attribute maksimal adalah 2MB.',
'waktu_ambil.after_or_equal' => 'Jam operasional kami mulai pukul 09:00.',
'waktu_ambil.before_or_equal' => 'Jam operasional kami berakhir pukul 21:00.',
];
}
public function attributes(): array
{
return [
'nama' => 'nama pemesan',
'no_wa' => 'nomor WhatsApp',
'tgl_ambil' => 'tanggal pengambilan',
'waktu_ambil' => 'waktu pengambilan',
'bukti_bayar' => 'bukti pembayaran',
'ucapan' => 'kartu ucapan',
];
}
}