File: /www/exchange2/exchange/admin/validator/ValidatorFactory.php
<?php
/**
* validator - ValidatorFactory.php
*
* Initial version by: MisterX
* Initial version created on: 09.12.2015
*/
class ValidatorFactory
{
public static function validatorForTransaction(){
$v = new Validator();
$v->rule('raw.20','max_length',array(':value',16));
$v->rule('data.70.number','digit');
$v->rule('data.32A.currency','not_empty');
$v->rule('data.32A.amount','numeric');
$v->rule('data.32A.amount','positive_value');
$v->rule('data.32A.date','numeric');
$v->rule('data.32A.date','exact_length',array(':value',6));
$v->rule('data.50A','not_empty');
$v->rule('data.50A','check_account');
$v->rule('data.50A','check_account_currency',array(':value',':object'));
$v->rule('data.59.account','not_empty');
$v->rule('data.59.account','check_account_currency',array(':value',':object'));
$v->rule('data.59.account','check_account_if_not_iban',array(':value'));
$v->rule('data.59.account','avoid_same_account',array(':value','data.50A',':object'));
$v->rule('data.57D','in_values',array(':value',array('990212','200605','200353')));
return $v;
}
public static function validatorForBatch(){
$v = new Validator();
$v->rule('transactions','batch_transactions_count',array(':value',4));
return $v;
}
public static function validatorForParser(){
$v = new Validator();
$v->rule('transactions','transaction_sequence',array(':value'));
$v->rule('batches','batch_sequence',array(':value'));
return $v;
}
}