HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/posscale/.trash/1app.3/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',

        ];
    }
}