当前位置: 首页>>代码示例>>PHP>>正文


PHP FormStateInterface::isValidationComplete方法代码示例

本文整理汇总了PHP中Drupal\Core\Form\FormStateInterface::isValidationComplete方法的典型用法代码示例。如果您正苦于以下问题:PHP FormStateInterface::isValidationComplete方法的具体用法?PHP FormStateInterface::isValidationComplete怎么用?PHP FormStateInterface::isValidationComplete使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Drupal\Core\Form\FormStateInterface的用法示例。


在下文中一共展示了FormStateInterface::isValidationComplete方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm($form_id, &$form, FormStateInterface &$form_state)
 {
     // If this form is flagged to always validate, ensure that previous runs of
     // validation are ignored.
     if ($form_state->isValidationEnforced()) {
         $form_state->setValidationComplete(FALSE);
     }
     // If this form has completed validation, do not validate again.
     if ($form_state->isValidationComplete()) {
         return;
     }
     // If the session token was set by self::prepareForm(), ensure that it
     // matches the current user's session.
     if (isset($form['#token'])) {
         if (!$this->csrfToken->validate($form_state->getValue('form_token'), $form['#token'])) {
             $url = $this->requestStack->getCurrentRequest()->getRequestUri();
             // Setting this error will cause the form to fail validation.
             $form_state->setErrorByName('form_token', $this->t('The form has become outdated. Copy any unsaved work in the form below and then <a href="@link">reload this page</a>.', array('@link' => $url)));
             // Stop here and don't run any further validation handlers, because they
             // could invoke non-safe operations which opens the door for CSRF
             // vulnerabilities.
             $this->finalizeValidation($form, $form_state, $form_id);
             return;
         }
     }
     // Recursively validate each form element.
     $this->doValidateForm($form, $form_state, $form_id);
     $this->finalizeValidation($form, $form_state, $form_id);
     $this->handleErrorsWithLimitedValidation($form, $form_state, $form_id);
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:33,代码来源:FormValidator.php

示例2: isValidationComplete

 /**
  * {@inheritdoc}
  */
 public function isValidationComplete()
 {
     return $this->mainFormState->isValidationComplete();
 }
开发者ID:Laudanum,项目名称:authorization,代码行数:7,代码来源:SubFormState.php

示例3: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm($form_id, &$form, FormStateInterface &$form_state)
 {
     // If this form is flagged to always validate, ensure that previous runs of
     // validation are ignored.
     if ($form_state->isValidationEnforced()) {
         $form_state->setValidationComplete(FALSE);
     }
     // If this form has completed validation, do not validate again.
     if ($form_state->isValidationComplete()) {
         return;
     }
     // If the session token was set by self::prepareForm(), ensure that it
     // matches the current user's session. This is duplicate to code in
     // FormBuilder::doBuildForm() but left to protect any custom form handling
     // code.
     if (isset($form['#token'])) {
         if (!$this->csrfToken->validate($form_state->getValue('form_token'), $form['#token']) || $form_state->hasInvalidToken()) {
             $this->setInvalidTokenError($form_state);
             // Stop here and don't run any further validation handlers, because they
             // could invoke non-safe operations which opens the door for CSRF
             // vulnerabilities.
             $this->finalizeValidation($form, $form_state, $form_id);
             return;
         }
     }
     // Recursively validate each form element.
     $this->doValidateForm($form, $form_state, $form_id);
     $this->finalizeValidation($form, $form_state, $form_id);
     $this->handleErrorsWithLimitedValidation($form, $form_state, $form_id);
 }
开发者ID:isramv,项目名称:camp-gdl,代码行数:33,代码来源:FormValidator.php

示例4: massageFormValues

 /**
  * {@inheritdoc}
  */
 public function massageFormValues(array $values, array $form, FormStateInterface $form_state)
 {
     // Don't do entity saving when we have validation erors.
     if (count($form_state->getErrors()) || !$form_state->isValidationComplete()) {
         return $values;
     }
     $field_name = $this->fieldDefinition->getName();
     $widget_state = static::getWidgetState($form['#parents'], $field_name, $form_state);
     $element = NestedArray::getValue($form_state->getCompleteForm(), $widget_state['array_parents']);
     foreach ($values as $delta => &$item) {
         if (isset($widget_state['paragraphs'][$item['_original_delta']]['entity']) && $widget_state['paragraphs'][$item['_original_delta']]['mode'] != 'remove') {
             $paragraphs_entity = $widget_state['paragraphs'][$item['_original_delta']]['entity'];
             /** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $display */
             $display = $widget_state['paragraphs'][$item['_original_delta']]['display'];
             $display->extractFormValues($paragraphs_entity, $element[$item['_original_delta']]['subform'], $form_state);
             $display->validateFormValues($paragraphs_entity, $element[$item['_original_delta']]['subform'], $form_state);
             $paragraphs_entity->setNewRevision(TRUE);
             $paragraphs_entity->save();
             $item['target_id'] = $paragraphs_entity->id();
             $item['target_revision_id'] = $paragraphs_entity->getRevisionId();
         } elseif ($widget_state['paragraphs'][$item['_original_delta']]['mode'] == 'remove' || $widget_state['paragraphs'][$item['_original_delta']]['mode'] == 'removed') {
             $item['target_id'] = NULL;
             $item['target_revision_id'] = NULL;
         }
     }
     return $values;
 }
开发者ID:frankcr,项目名称:sftw8,代码行数:30,代码来源:InlineParagraphsWidget.php

示例5: massageFormValues

 /**
  * {@inheritdoc}
  */
 public function massageFormValues(array $values, array $form, FormStateInterface $form_state)
 {
     // Don't do entity saving when we have validation erors.
     if (count($form_state->getErrors()) || !$form_state->isValidationComplete()) {
         return parent::massageFormValues($values, $form, $form_state);
     }
     foreach ($values as $value) {
         if (isset($value['fids'][0]) && isset($value['cropinfo']) && $value['cropinfo']['changed']) {
             $fid = $value['fids'][0];
             $new_crop_info = array('fid' => $fid, 'x' => $value['cropinfo']['x'], 'y' => $value['cropinfo']['y'], 'width' => $value['cropinfo']['width'], 'height' => $value['cropinfo']['height']);
             imagefield_crop_update_file_info($new_crop_info);
             $source = File::load($fid);
             if ($source) {
                 image_path_flush($source->getFileUri());
             }
         }
     }
     return parent::massageFormValues($values, $form, $form_state);
 }
开发者ID:VDMi,项目名称:imagefield_crop_d8,代码行数:22,代码来源:ImageCropWidget.php

示例6: isValidationComplete

 /**
  * {@inheritdoc}
  */
 public function isValidationComplete()
 {
     return $this->decoratedFormState->isValidationComplete();
 }
开发者ID:eigentor,项目名称:tommiblog,代码行数:7,代码来源:FormStateDecoratorBase.php

示例7: testIsValidationComplete

 /**
  * @covers ::isValidationComplete
  *
  * @dataProvider providerSingleBooleanArgument
  *
  * @param bool $complete
  */
 public function testIsValidationComplete($complete)
 {
     $this->decoratedFormState->isValidationComplete()->willReturn($complete)->shouldBeCalled();
     $this->assertSame($complete, $this->formStateDecoratorBase->isValidationComplete());
 }
开发者ID:eigentor,项目名称:tommiblog,代码行数:12,代码来源:FormStateDecoratorBaseTest.php


注:本文中的Drupal\Core\Form\FormStateInterface::isValidationComplete方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。