[Fixed: issue #2313 resolved.]

This commit is contained in:
Vivek Sharma 2020-02-06 12:37:50 +05:30
parent e4ee9b425f
commit bc28c8c4fe
2 changed files with 7 additions and 18 deletions

View File

@ -10,6 +10,7 @@ namespace Webkul\Customer\Rules;
* @see https://raw.githubusercontent.com/danielebarbaro/laravel-vat-eu-validator
*
* @package Danielebarbaro\LaravelVatEuValidator
* @author Vivek Sharma <viveksh047@webkul.com> @vivek-webkul
*/
class VatValidator
{
@ -36,6 +37,7 @@ class VatValidator
'HR' => '\d{11}',
'HU' => '\d{8}',
'IE' => '[A-Z\d]{8}|[A-Z\d]{9}',
'IN' => 'V\d{11}',
'IT' => '\d{11}',
'LT' => '(\d{9}|\d{12})',
'LU' => '\d{8}',
@ -59,14 +61,14 @@ class VatValidator
*/
public function validate(string $vatNumber): bool
{
$country = request()->input('country');
$vatNumber = $this->vatCleaner($vatNumber);
list($country, $number) = $this->splitVat($vatNumber);
if (! isset(self::$pattern_expression[$country])) {
return false;
}
return preg_match('/^' . self::$pattern_expression[$country] . '$/', $number) > 0;
return preg_match('/^' . self::$pattern_expression[$country] . '$/', $vatNumber) > 0;
}
/**
@ -79,17 +81,4 @@ class VatValidator
$vatNumber_no_spaces = trim($vatNumber);
return strtoupper($vatNumber_no_spaces);
}
/**
* @param string $vatNumber
*
* @return array
*/
private function splitVat(string $vatNumber): array
{
return [
substr($vatNumber, 0, 2),
substr($vatNumber, 2),
];
}
}

View File

@ -58,8 +58,8 @@
</div>
<div class="control-group" :class="[errors.has('address1[]') ? 'has-error' : '']">
<label for="address_0" class="required">{{ __('shop::app.customer.account.address.create.street-address') }}</label>
<input type="text" class="control" name="address1[]" id="address_0" v-validate="'required'" data-vv-as="&quot;{{ __('shop::app.customer.account.address.create.street-address') }}&quot;">
<label for="address1" class="required">{{ __('shop::app.customer.account.address.create.street-address') }}</label>
<input type="text" class="control" name="address1[]" value="<?= old('address1'); ?>" id="address1" v-validate="'required'" data-vv-as="&quot;{{ __('shop::app.customer.account.address.create.street-address') }}&quot;">
<span class="control-error" v-if="errors.has('address1[]')">@{{ errors.first('address1[]') }}</span>
</div>