/** * @expectedException InvalidArgumentException * @expectedMessage Duplicate element exists with [first_name] */ public function testDuplicateElement() { $fs = new Fieldset(); $fs->setName('customers'); $fs->addElement(new Element('first_name', 'text')); $fs->addElement(new Element('first_name', 'text')); }
public function testMixedData() { $fs = new Fieldset(); $fs->setName('customers'); $fs->addElement(new Element('first_name', 'text')); $fs->addElement(new Element('phone[first]', 'text')); $data = array('first_name' => 'Sahan', 'phone' => array('first' => '123')); $form = new Form(); $form->addFieldset($fs); $form->setData(array('customers' => $data, '_csrf' => 'token')); $this->assertEquals('123', $fs->getElement('phone[first]')->getValue()); $this->assertEquals('Sahan', $fs->getElement('first_name')->getValue()); }
public function makeFormConfig(FormConfig $config) { $validation_rules = $config->getValidationRules(); $val = new LaravelValidator(); $val->setRules($validation_rules); $form = new Form(); $form->setAttribute('action', $config->getAction()); $form->setTemplate($config->getTemplateInstance()); $fields_data = $config->getFields(); foreach ($fields_data as $fieldset_name => $fields) { $fs = new Fieldset(); $fs->setName($fieldset_name); foreach ($fields as $field_name => $field_data) { $element = $this->makeElement($field_name, $field_data); $fs->addElement($element); } $form->addFieldset($fs); } $form->setValidator($val); return $form; }