public function testAttributesHTML() { $field = new FormField('MyField'); $field->setAttribute('foo', 'bar'); $this->assertContains('foo="bar"', $field->getAttributesHTML()); $field->setAttribute('foo', null); $this->assertNotContains('foo=', $field->getAttributesHTML()); $field->setAttribute('foo', ''); $this->assertNotContains('foo=', $field->getAttributesHTML()); $field->setAttribute('foo', false); $this->assertNotContains('foo=', $field->getAttributesHTML()); $field->setAttribute('foo', true); $this->assertContains('foo="foo"', $field->getAttributesHTML()); $field->setAttribute('foo', 'false'); $this->assertContains('foo="false"', $field->getAttributesHTML()); $field->setAttribute('foo', 'true'); $this->assertContains('foo="true"', $field->getAttributesHTML()); $field->setAttribute('foo', 0); $this->assertContains('foo="0"', $field->getAttributesHTML()); $field->setAttribute('one', 1); $field->setAttribute('two', 2); $field->setAttribute('three', 3); $this->assertNotContains('one="1"', $field->getAttributesHTML('one', 'two')); $this->assertNotContains('two="2"', $field->getAttributesHTML('one', 'two')); $this->assertContains('three="3"', $field->getAttributesHTML('one', 'two')); }
/** * @param FormField $f * @param string $surfix * @return static */ protected function setPlaceHolder(FormField $f, $surfix = '') { $str = $f->Title(); if ($surfix) { $str .= " {$surfix}"; } $f->setAttribute('placeholder', $str); return $this; }
/** * @return FormField */ public function addPart(FormField $part) { if (strval($part->getName()) === '') { $part->setName(sprintf('%s-%s', $this->getName(), count($this->parts))); } $part->setAttribute('data-part', count($this->parts)); $this->parts[] = $part; return $this; }
/** * Removes the html attributes required for frontend validation * Subclasses should call parent::removeParsley * @return void * */ public function removeParsley() { $this->parsleyApplied = false; if ($this->field && $this->customMessage) { $this->field->setAttribute(sprintf('data-parsley-%s-message', $this->getConstraintName()), ''); } if (get_class($this->field) === 'CheckboxSetField') { $this->field->setAttribute('data-parsley-multiple', ''); } }
public function setCountryAttribute($name, $value) { $this->fieldCountry->setAttribute($name, $value); return $this; }
/** * Updates a formfield with the additional metadata specified by this field * * @param FormField $field */ protected function updateFormField($field) { // set the error / formatting messages $field->setCustomValidationMessage($this->getErrorMessage()); // set the right title on this field if ($this->RightTitle) { // Since this field expects raw html, safely escape the user data prior $field->setRightTitle(Convert::raw2xml($this->RightTitle)); } // if this field is required add some if ($this->Required) { // Required validation can conflict so add the Required validation messages as input attributes $errorMessage = $this->getErrorMessage()->HTML(); $field->addExtraClass('requiredField'); $field->setAttribute('data-rule-required', 'true'); $field->setAttribute('data-msg-required', $errorMessage); if ($identifier = UserDefinedForm::config()->required_identifier) { $title = $field->Title() . " <span class='required-identifier'>" . $identifier . "</span>"; $field->setTitle($title); } } // if this field has an extra class if ($this->ExtraClass) { $field->addExtraClass($this->ExtraClass); } }