Files
portal-api/app/Http/Requests/User/UserStoreInformation.php
T
2026-02-11 10:08:39 +07:00

61 lines
2.4 KiB
PHP

<?php
namespace App\Http\Requests\User;
use Illuminate\Foundation\Http\FormRequest;
class UserStoreInformation 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, \Illuminate\Contracts\Validation\ValidationRule|array<mixed>|string>
*/
public function rules(): array
{
return [
'firstname' => 'required',
'lastname' => 'required',
'email' => 'nullable|email|unique:customers,email',
'address' => 'nullable',
'phone' => 'required',
'gender' => 'nullable',
'company' => 'nullable',
'cccd' => 'nullable',
'front_cccd' => 'nullable',
'back_cccd' => 'nullable'
];
}
public function messages(): array
{
return [
'firstname.required' => 'Vui lòng nhập họ.',
'lastname.required' => 'Vui lòng nhập tên.',
'email.email' => 'Email không đúng định dạng.',
'address.string' => 'Địa chỉ không hợp lệ.',
'phone.required' => 'Vui lòng nhập số điện thoại.',
'gender.in' => 'Giới tính không hợp lệ.',
'company.string' => 'Tên công ty không hợp lệ.',
'cccd.required' => 'Vui lòng nhập số căn cước công dân.',
'cccd.digits' => 'Số căn cước công dân phải gồm 12 chữ số.',
'front_cccd.required' => 'Vui lòng tải lên hình ảnh mặt trước căn cước công dân.',
'front_cccd.image' => 'Tệp mặt trước CCCD phải là hình ảnh.',
'front_cccd.mimes' => 'Ảnh mặt trước CCCD phải có định dạng: jpeg, png, jpg.',
'front_cccd.max' => 'Ảnh mặt trước CCCD không được vượt quá 2MB.',
'back_cccd.required' => 'Vui lòng tải lên hình ảnh mặt sau căn cước công dân.',
'back_cccd.image' => 'Tệp mặt sau CCCD phải là hình ảnh.',
'back_cccd.mimes' => 'Ảnh mặt sau CCCD phải có định dạng: jpeg, png, jpg.',
'back_cccd.max' => 'Ảnh mặt sau CCCD không được vượt quá 2MB.',
];
}
}