public function testIsValueEmpty() { $field = new OptionsField('field1', 'field1', array(1 => 'apple', 2 => 'pear')); $this->assertEquals($field->isValueEmpty(), true, 'Null value'); $field->setValue(array()); $this->assertEquals($field->isValueEmpty(), true, 'Empty array'); $field->setValue(array(1)); $this->assertEquals($field->isValueEmpty(), false, 'Non-empty array'); }
public function testRequiredRuleMultipleValue() { $rule = new RequiredRule('this field is required'); $field = new OptionsField('test', 'test', array(1 => 'apple', 2 => 'pear', 3 => 'cherry')); $field->setValue(array()); $this->assertSame($rule->validate($field), false, 'Empty array'); $field->setValue(null); $this->assertSame($rule->validate($field), false, 'Empty (null)'); }
public function testMaxLengthRuleMultipleValues() { $rule = new MaxLengthRule(2, 'too long'); $field = new OptionsField('test', 'test', array(1 => 'apple', 2 => 'pear', 3 => 'cherry')); $field->setValue(array()); $this->assertSame($rule->validate($field), true, 'Empty array'); $field->setValue(null); $this->assertSame($rule->validate($field), true, 'Empty (null)'); $field->setValue(array(1 => 'apple', 2 => 'pear')); $this->assertSame($rule->validate($field), true, 'Okay (2 entries)'); $field->setValue(array(1 => 'apple', 2 => 'pear', 3 => 'cherry')); $this->assertSame($rule->validate($field), false, 'Too long (3 entries)'); }
public function testMaxLengthRuleMultipleValues() { $rule = new ValueBetweenRule(5, 10, 'The value has to be between 5 and 10'); $field = new OptionsField('test', 'test', array(1 => 'apple', 2 => 'pear', 3 => 'cherry')); $field->setValue(array()); $this->assertSame($rule->validate($field), true, 'Empty array'); $field->setValue(null); $this->assertSame($rule->validate($field), true, 'Empty (null)'); $field->setValue(array(1, 6, 7)); $this->assertSame($rule->validate($field), false, '1 out of range, array(1, 6, 7)'); $field->setValue(array(6, 7, 11)); $this->assertSame($rule->validate($field), false, '11 out of range, array(6, 7, 11)'); $field->setValue(array(6, 7, array(3, 12), 8)); $this->assertSame($rule->validate($field), false, '3 out of range, array(6, 7, array(3, 12), 8)'); $field->setValue(array(6, 7, array(5, 10), 8)); $this->assertSame($rule->validate($field), true, 'Okay, array(6, 7, array(5, 10), 8)'); }
/** * @param RightGroup $rightGroup */ protected function prepareEditRightGroupForm(RightGroup $rightGroup) { if ($this->form instanceof CmsForm) { return; } $lang = $this->cmsController->getLocaleHandler()->getLanguage(); $checkOptionsRights = array(); $options = array(); $allModules = $this->moduleModel->getAllModules(); foreach ($allModules as $mod) { if (isset($mod->manifest_content->rights) === false || count((array) $mod->manifest_content->rights) === 0) { continue; } $optionsTemp = array(); foreach ($mod->manifest_content->rights as $key => $label) { $checkOptionsRights[$key] = $key; $optionsTemp[$key] = isset($label->{$lang}) ? $label->{$lang} : $label->en; } $options[isset($mod->manifest_content->name->{$lang}) ? $mod->manifest_content->name->{$lang} : $mod->manifest_content->name->en] = $optionsTemp; } $this->form = new CmsForm(); $this->form->setInputData(array_merge($_POST, $_GET)); $fldName = new InputField('name', 'Name'); $fldName->setValue($rightGroup->getGroupName()); $fldName->addRule(new RequiredRule($this->translator->_d('backend', 'Please insert a group name'))); $fldKey = new InputField('key', 'Key'); $fldKey->setValue($rightGroup->getGroupKey()); $fldKey->addRule(new RequiredRule($this->translator->_d('backend', 'Please insert a group key'))); $fldRoot = new OptionsField('root', 'Root', array(1 => $this->translator->_d('backend', 'This group has root rights'))); $fldRoot->setValue(array((int) $rightGroup->isRoot())); $fldRoot->setOptionsFieldRenderer(new CheckboxOptionsFieldRenderer()); $fldRights = new OptionsField('rights', 'Rights', $checkOptionsRights); $fldRights->setOptionsFieldRenderer(new RightsOptionsFieldRenderer($options)); $fldRights->setValue($rightGroup->getRights()); $this->form->addFields(array($fldName, $fldKey, $fldRoot, $fldRights)); }