akaunting/app/Providers/ValidationServiceProvider.php
2018-09-06 01:45:33 +03:00

67 lines
1.5 KiB
PHP

<?php
namespace App\Providers;
use App\Models\Setting\Currency;
use Illuminate\Support\ServiceProvider;
use Validator;
class ValidationServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
$currency_code = null;
Validator::extend('currency', function ($attribute, $value, $parameters, $validator) use(&$currency_code) {
$status = false;
if (!is_string($value) || (strlen($value) != 3)) {
return $status;
}
$currencies = Currency::enabled()->pluck('code')->toArray();
if (in_array($value, $currencies)) {
$status = true;
}
$currency_code = $value;
return $status;
},
trans('validation.custom.invalid_currency', ['attribute' => $currency_code])
);
$amount = null;
Validator::extend('amount', function ($attribute, $value, $parameters, $validator) use (&$amount) {
$status = false;
if ($value > 0) {
$status = true;
}
$amount = $value;
return $status;
},
trans('validation.custom.invalid_amount', ['attribute' => $amount])
);
}
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
}