File: /home/posscale/.trash/1app.1/Http/Requests/TenantRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class TenantRequest 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
{
$rules = [
'site_name' => 'required|min:5|unique:tenants,id',
'sub_domain' => 'required_unless:has_domain,1|min:3|max:12|unique:domains,sub_name|regex:/(^[A-Za-z0-9]+$)+/',
'site_domain' => 'required_if:has_domain,1|required|regex:/^(\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/|unique:domains,domain',
'name' => 'required|min:3',
'user_email' => 'required|min:3|max:255|email',
'password' => 'required|min:8|max:255',
'confirm_password' => 'required|same:password|min:8'
];
if ($this->has('has_domain')) {
unset($rules['sub_domain']);
} else {
unset($rules['site_domain']);
}
return $rules;
}
/**
* Get the error messages for the defined validation rules.
*
* @return array<string, string>
*/
public function messages(): array
{
return [
'site_name.required' => 'Site name must be required',
'site_name.min' => 'Site name must be at least 5 character',
'sub_domain.required' => 'Add sub domain name',
'sub_domain.unique' => 'System is already working on this domain.',
'sub_domain.min' => 'Domain name must be at least 3 character',
'sub_domain.regex' => 'Use only number and letters',
'site_domain.regex' => 'Domain is not valid',
'site_domain.required' => 'Domain is not valid',
];
}
}