HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
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;
	}
}