Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Form/FormStateValuesTrait.php \Drupal\Core\Form\FormStateValuesTrait
  2. 9 core/lib/Drupal/Core/Form/FormStateValuesTrait.php \Drupal\Core\Form\FormStateValuesTrait

Provides methods to manage form state values.

Hierarchy

See also

\Drupal\Core\Form\FormStateInterface

Related topics

1 file declares its use of FormStateValuesTrait
FormStateValuesTraitTest.php in core/tests/Drupal/Tests/Core/Form/FormStateValuesTraitTest.php

File

core/lib/Drupal/Core/Form/FormStateValuesTrait.php, line 14

Namespace

Drupal\Core\Form
View source
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);
  }

}

Members