FormStateValuesTrait.php

Same filename and directory in other branches
  1. 8.9.x core/lib/Drupal/Core/Form/FormStateValuesTrait.php
  2. 10 core/lib/Drupal/Core/Form/FormStateValuesTrait.php
  3. 11.x core/lib/Drupal/Core/Form/FormStateValuesTrait.php

Namespace

Drupal\Core\Form

File

core/lib/Drupal/Core/Form/FormStateValuesTrait.php

View source
<?php

namespace Drupal\Core\Form;

use Drupal\Component\Utility\NestedArray;

/**
 * Provides methods to manage form state values.
 *
 * @see \Drupal\Core\Form\FormStateInterface
 *
 * @ingroup form_api
 */
trait FormStateValuesTrait {
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::getValues()
     */
    public abstract function &getValues();
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::getValue()
     */
    public function &getValue($key, $default = NULL) {
        $exists = NULL;
        $value =& NestedArray::getValue($this->getValues(), (array) $key, $exists);
        if (!$exists) {
            $value = $default;
        }
        return $value;
    }
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::setValues()
     */
    public function setValues(array $values) {
        $existing_values =& $this->getValues();
        $existing_values = $values;
        return $this;
    }
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::setValue()
     */
    public function setValue($key, $value) {
        NestedArray::setValue($this->getValues(), (array) $key, $value, TRUE);
        return $this;
    }
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::unsetValue()
     */
    public function unsetValue($key) {
        NestedArray::unsetValue($this->getValues(), (array) $key);
        return $this;
    }
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::hasValue()
     */
    public function hasValue($key) {
        $exists = NULL;
        $value = NestedArray::getValue($this->getValues(), (array) $key, $exists);
        return $exists && isset($value);
    }
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::isValueEmpty()
     */
    public function isValueEmpty($key) {
        $exists = NULL;
        $value = NestedArray::getValue($this->getValues(), (array) $key, $exists);
        return !$exists || empty($value);
    }
    
    /**
     * Implements \Drupal\Core\Form\FormStateInterface::setValueForElement()
     */
    public function setValueForElement(array $element, $value) {
        return $this->setValue($element['#parents'], $value);
    }

}

Traits

Title Deprecated Summary
FormStateValuesTrait Provides methods to manage form state values.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.