Example #1
0
 /**
  * {@inheritdoc}
  */
 public function setLimitValidationErrors($limit_validation_errors) {
   $add_subkeys = function(array $path) {
     return array_merge($this->subKeys, $path);
   };
   $limit_validation_errors = array_map($add_subkeys, $limit_validation_errors);
   $this->mainFormState->setLimitValidationErrors($limit_validation_errors);
   return $this;
 }
Example #2
0
 /**
  * Validate callback for alt and title field, if the user wants them required.
  *
  * This is separated in a validate function instead of a #required flag to
  * avoid being validated on the process callback.
  */
 public static function validateRequiredFields($element, FormStateInterface $form_state)
 {
     // Only do validation if the function is triggered from other places than
     // the image process form.
     if (!in_array('file_managed_file_submit', $form_state->getTriggeringElement()['#submit'])) {
         // If the image is not there, we do not check for empty values.
         $parents = $element['#parents'];
         $field = array_pop($parents);
         $image_field = NestedArray::getValue($form_state->getUserInput(), $parents);
         // We check for the array key, so that it can be NULL (like if the user
         // submits the form without using the "upload" button).
         if (!array_key_exists($field, $image_field)) {
             return;
         }
     } else {
         $form_state->setLimitValidationErrors([]);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function setLimitValidationErrors($limit_validation_errors)
 {
     $this->decoratedFormState->setLimitValidationErrors($limit_validation_errors);
     return $this;
 }
 /**
  * @covers ::setLimitValidationErrors
  *
  * @dataProvider providerLimitValidationErrors
  *
  * @param array[]|null $limit_validation_errors
  *   Any valid value for
  *   \Drupal\Core\Form\FormStateInterface::setLimitValidationErrors()'s
  *   $limit_validation_errors argument;
  */
 public function testSetLimitValidationErrors($limit_validation_errors)
 {
     $this->decoratedFormState->setLimitValidationErrors($limit_validation_errors)->shouldBecalled();
     $this->assertSame($this->formStateDecoratorBase, $this->formStateDecoratorBase->setLimitValidationErrors($limit_validation_errors));
 }