Back to TextField class

Method setup

public bool
setup
(\SimpleXMLElement $element, mixed $value, mixed $group = null)
Method to attach a Form object to the field.
Parameters
  • \SimpleXMLElement $element The SimpleXMLElement object representing the `<field>` tag for the form field object.
  • mixed $value The form field value to validate.
  • string $group The field name group control value. This acts as an array container for the field. For example if the field has name="foo" and the group value is set to "bar" then the full field name would end up being "bar[foo]".
Returns
  • bool True on success.
Since
  • 3.2
-
  • \Joomla\CMS\Form\FormField::setup()
Class: TextField
Project: Joomla

Method setup - Source code

/**
 * Method to attach a Form object to the field.
 *
 * @param   \SimpleXMLElement  $element  The SimpleXMLElement object representing the `<field>` tag for the form field object.
 * @param   mixed              $value    The form field value to validate.
 * @param   string             $group    The field name group control value. This acts as an array container for the field.
 *                                       For example if the field has name="foo" and the group value is set to "bar" then the
 *                                       full field name would end up being "bar[foo]".
 *
 * @return  boolean  True on success.
 *
 * @see     FormField::setup()
 * @since   3.2
 */
public function setup(\SimpleXMLElement $element, $value, $group = null)
{
    $result = parent::setup($element, $value, $group);
    if ($result == true) {
        $inputmode = (string) $this->element['inputmode'];
        $dirname = (string) $this->element['dirname'];
        $this->inputmode = '';
        $inputmode = preg_replace('/\\s+/', ' ', trim($inputmode));
        $inputmode = explode(' ', $inputmode);
        if (!empty($inputmode)) {
            $defaultInputmode = \in_array('default', $inputmode) ? Text::_('JLIB_FORM_INPUTMODE') . ' ' : '';
            foreach (array_keys($inputmode, 'default') as $key) {
                unset($inputmode[$key]);
            }
            $this->inputmode = $defaultInputmode . implode(' ', $inputmode);
        }
        // Set the dirname.
        $dirname = $dirname === 'dirname' || $dirname === 'true' || $dirname === '1';
        $this->dirname = $dirname ? $this->getName($this->fieldname . '_dir') : false;
        $this->maxLength = (int) $this->element['maxlength'];
        $this->addonBefore = (string) $this->element['addonBefore'];
        $this->addonAfter = (string) $this->element['addonAfter'];
    }
    return $result;
}