HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/topswtw.komma.pro/app/KommaApp/Shop/FormValidation/FullCustomerForm.php
<?php

namespace KommaApp\Shop\FormValidation;

use KommaApp\Shop\Shop;
use Illuminate\Validation\Factory as Validator;

class FullCustomerForm extends BaseForm
{
    /**
     * @var Shop $shop
     */
    protected $shop;

    public $rules = [
        'username' => 'required|email|unique_customer',
        'email' => 'required|email|unique_customer',
        'password' => 'required|confirmed|min:6',
        'title' => 'required',
        'first_name' => 'required',
        'last_name' => 'required',
        'postal' => 'required',
        'house_number' => 'required|numeric|min:1',
        'street' => 'required',
        'city' => 'required',
        'country' => 'required',
        'company_vat' => 'vat_requirement:company,country|vat',

    ];

    function __construct(Validator $validatorFactory, Shop $shop)
    {
        parent::__construct($validatorFactory);

        $this->messages = [
            'email.unique' => \Lang::get('customer/create.error_user_exists'),
            'email.email' => \Lang::get('customer/create.error_email_invalid'),
            'password.confirmed' => \Lang::get('customer/create.error_password_confirmation'),
            'password.min' => \Lang::get('customer/create.error_password_min'),
            'company_vat.vat_requirement' => \Lang::get('customer/create.error_vat_required'),
            'company_vat.vat' => \Lang::get('customer/create.error_vat_invalid'),
        ];

        $this->validatorFactory->extend('vat', 'KommaApp\Shop\FormValidation\ValidationRules\CustomValidationRules@validateVat');
        $this->validatorFactory->extendImplicit('vatRequirement', 'KommaApp\Shop\FormValidation\ValidationRules\CustomValidationRules@validateVatRequirement');

        $this->shop = $shop;
        $this->parseRules();
    }

    protected function parseRules()
    {
        foreach ($this->rules as $ruleKey => $ruleValue) {
            $this->rules[$ruleKey] = str_replace('||shopId||', $this->shop->getId(), $ruleValue);
        }
        return $this->rules;
    }

    public function translateMessages()
    {
        $messages = [
            'email.unique' => \Lang::get('customer/create.error_user_exists'),
            'email.email' => \Lang::get('customer/create.error_email_invalid'),
            'password.confirmed' => \Lang::get('customer/create.error_password_confirmation'),
            'password.min' => \Lang::get('customer/create.error_password_min'),
            'company_vat.vat_requirement' => \Lang::get('customer/create.error_vat_required'),
            'company_vat.vat' => \Lang::get('customer/create.error_vat_invalid'),
        ];

        $this->messages = array_merge($this->messages, $messages);
    }

}