/** * Check builder configuration format */ public function testBuilderConfiguration() { $this->getMockBuilder('Magento_Validator_Builder')->setMockClassName('Magento_Validator_Test_Builder')->disableOriginalConstructor()->getMock(); $this->_initConfig(array(__DIR__ . '/_files/validation/positive/builder/validation.xml')); $builder = $this->_config->createValidatorBuilder('test_entity_a', 'check_builder'); $this->assertInstanceOf('Magento_Validator_Test_Builder', $builder); $expected = array(array('alias' => '', 'class' => 'Magento_Validator_Test_NotEmpty', 'options' => null, 'property' => 'int', 'type' => 'property'), array('alias' => 'stub', 'class' => 'Validator_Stub', 'options' => array('arguments' => array(new Magento_Validator_Constraint_Option('test_string_argument'), new Magento_Validator_Constraint_Option(array('option1' => 'value1', 'option2' => 'value2')), new Magento_Validator_Constraint_Option_Callback(array('Magento_Validator_Test_Callback', 'getId'), null, true)), 'callback' => array(new Magento_Validator_Constraint_Option_Callback(array('Magento_Validator_Test_Callback', 'configureValidator'), null, true)), 'methods' => array('setOptionThree' => array('method' => 'setOptionThree', 'arguments' => array(new Magento_Validator_Constraint_Option(array('argOption' => 'argOptionValue')), new Magento_Validator_Constraint_Option_Callback(array('Magento_Validator_Test_Callback', 'getId'), null, true), new Magento_Validator_Constraint_Option('10'))), 'enableOptionFour' => array('method' => 'enableOptionFour'))), 'property' => 'int', 'type' => 'property')); $this->assertAttributeEquals($expected, '_constraints', $builder); }
/** * Get validator * * @param array $data * @return Magento_Validator */ protected function _getValidator(array $data) { if (is_null($this->_validator)) { $configFiles = Mage::getConfig()->getModuleConfigurationFiles('validation.xml'); $validatorFactory = new Magento_Validator_Config($configFiles); $builder = $validatorFactory->createValidatorBuilder('eav_entity', 'form'); $builder->addConfiguration('eav_data_validator', array('method' => 'setAttributes', 'arguments' => array($this->getAllowedAttributes()))); $builder->addConfiguration('eav_data_validator', array('method' => 'setData', 'arguments' => array($data))); $this->_validator = $builder->createValidator(); } return $this->_validator; }