Files
freeu-project/app/Http/Requests/StoreNRIKYC.php
Shailesh-1981 bd047a9562 fixing bugs
2024-06-10 16:41:06 +05:30

70 lines
2.6 KiB
PHP

<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreNRIKYC extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'name' => 'required|regex:/^[a-zA-Z\s]+$/',
'mobile_number' => 'required|regex:/^(\+\d{1,3}[- ]?)?\d{10,12}$/|unique:user_kycs,mobile_number,' . auth()->guard('users')->user()->id . ',users_id',
'email' => 'required|regex:/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/|unique:user_kycs,email,' . auth()->guard('users')->user()->id . ',users_id',
'dob' => 'required',
'father_name' => 'regex:/^[a-zA-Z\s]+$/',
'mother_name' => 'regex:/^[a-zA-Z\s]+$/',
'occupation' => 'regex:/^[a-zA-Z\s]+$/',
'place_of_birth' => 'regex:/^[a-zA-Z\s]+$/',
'gross_annual_income' => 'regex:/^[0-9]+$/',
'passport' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'pio_oci_card' => 'mimes:jpeg,png,jpg,pdf|max:2048',
// 'tin' => 'required',
'pan_card' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'proof_of_address_of_india' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'utility' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'rental_agreement' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'passport_size_photograph' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'cancelled_cheque' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'copy_of_cml' => 'required|mimes:jpeg,png,jpg,pdf|max:2048',
'trc_copy' => 'mimes:jpeg,png,jpg,pdf|max:2048',
'form_10f' => 'mimes:jpeg,png,jpg,pdf|max:2048',
'no_pe_declaration' => 'mimes:jpeg,png,jpg,pdf|max:2048',
];
}
public function messages()
{
return [
'required' => 'This :attribute field is required',
'unique' => "This :attribute field must be unique",
'regex' => "This :attribute field not proper",
'mimes' => "This :attribute field must contains extension jpeg,png,jpg",
'max' => "This :attribute field size should less than 2 MB",
];
}
public function validated()
{
return array_merge(parent::validated(), [
'kyc_type' => 'NRI'
]);
}
}