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


PHP ContentEntityForm::validateForm方法代码示例

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


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

示例1: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     parent::validateForm($form, $form_state);
     // Ensure numeric values.
     if ($form_state->hasValue('weight') && !is_numeric($form_state->getValue('weight'))) {
         $form_state->setErrorByName('weight', $this->t('Weight value must be numeric.'));
     }
 }
开发者ID:eigentor,项目名称:tommiblog,代码行数:11,代码来源:TermForm.php

示例2: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     parent::validateForm($form, $form_state);
     $source = $form_state->getValue(array('redirect_source', 0));
     $redirect = $form_state->getValue(array('redirect_redirect', 0));
     if ($source['path'] == '<front>') {
         $form_state->setErrorByName('redirect_source', t('It is not allowed to create a redirect from the front page.'));
     }
     if (strpos($source['path'], '#') !== FALSE) {
         $form_state->setErrorByName('redirect_source', t('The anchor fragments are not allowed.'));
     }
     if (strpos($source['path'], '/') === 0) {
         $form_state->setErrorByName('redirect_source', t('The url to redirect from should not start with a forward slash (/).'));
     }
     try {
         $source_url = Url::fromUri('internal:/' . $source['path']);
         $redirect_url = Url::fromUri($redirect['uri']);
         // It is relevant to do this comparison only in case the source path has
         // a valid route. Otherwise the validation will fail on the redirect path
         // being an invalid route.
         if ($source_url->toString() == $redirect_url->toString()) {
             $form_state->setErrorByName('redirect_redirect', t('You are attempting to redirect the page to itself. This will result in an infinite loop.'));
         }
     } catch (\InvalidArgumentException $e) {
         // Do nothing, we want to only compare the resulting URLs.
     }
     $parsed_url = UrlHelper::parse(trim($source['path']));
     $path = isset($parsed_url['path']) ? $parsed_url['path'] : NULL;
     $query = isset($parsed_url['query']) ? $parsed_url['query'] : NULL;
     $hash = Redirect::generateHash($path, $query, $form_state->getValue('language')[0]['value']);
     // Search for duplicate.
     $redirects = \Drupal::entityManager()->getStorage('redirect')->loadByProperties(array('hash' => $hash));
     if (!empty($redirects)) {
         $redirect = array_shift($redirects);
         if ($this->entity->isNew() || $redirect->id() != $this->entity->id()) {
             $form_state->setErrorByName('redirect_source', t('The source path %source is already being redirected. Do you want to <a href="@edit-page">edit the existing redirect</a>?', array('%source' => $source['path'], '@edit-page' => $redirect->url('edit-form'))));
         }
     }
 }
开发者ID:CIGIHub,项目名称:bsia-drupal8,代码行数:42,代码来源:RedirectForm.php

示例3: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     $message = parent::validateForm($form, $form_state);
     // Check if flood control has been activated for sending emails.
     if (!$this->currentUser()->hasPermission('administer contact forms') && (!$message->isPersonal() || !$this->currentUser()->hasPermission('administer users'))) {
         $limit = $this->config('contact.settings')->get('flood.limit');
         $interval = $this->config('contact.settings')->get('flood.interval');
         if (!$this->flood->isAllowed('contact', $limit, $interval)) {
             $form_state->setErrorByName('', $this->t('You cannot send more than %limit messages in @interval. Try again later.', array('%limit' => $limit, '@interval' => $this->dateFormatter->formatInterval($interval))));
         }
     }
     return $message;
 }
开发者ID:ravindrasingh22,项目名称:Drupal-8-rc,代码行数:16,代码来源:MessageForm.php

示例4: validateForm

 public function validateForm(array &$form, FormStateInterface $form_state) {
   parent::validateForm($form, $form_state);
   $file_upload = $this->getRequest()->files->get('files[upload_pdf]', NULL, TRUE);
   if ($file_upload) {
     $this->validatePdfUpload($form, $form_state, $file_upload, 'upload_pdf');
   }
 }
开发者ID:AshishNaik021,项目名称:iimisac-d8,代码行数:7,代码来源:FillPdfFormForm.php

示例5: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     $entity = parent::validateForm($form, $form_state);
     if ($entity->isNew()) {
         $exists = $this->blockContentStorage->loadByProperties(array('info' => $form_state->getValue(['info', 0, 'value'])));
         if (!empty($exists)) {
             $form_state->setErrorByName('info', $this->t('A block with description %name already exists.', array('%name' => $form_state->getValue(array('info', 0, 'value')))));
         }
     }
     return $entity;
 }
开发者ID:nsp15,项目名称:Drupal8,代码行数:14,代码来源:BlockContentForm.php

示例6: validateForm

 /**
  * {@inheritdoc}
  */
 public function validateForm(array &$form, FormStateInterface $form_state)
 {
     $mail = $form_state->getValue(array('mail', 0, 'value'));
     // Users should login to manage their subscriptions.
     if (\Drupal::currentUser()->isAnonymous() && ($user = user_load_by_mail($mail))) {
         $message = $user->isBlocked() ? $this->t('The email address %mail belongs to a blocked user.', array('%mail' => $mail)) : $this->t('There is an account registered for the e-mail address %mail. Please log in to manage your newsletter subscriptions.', array('%mail' => $mail));
         $form_state->setErrorByName('mail', $message);
     }
     // Unless the submit handler is 'update', if the newsletter checkboxes are
     // available, at least one must be checked.
     $update = in_array('::submitUpdate', $form_state->getSubmitHandlers());
     if (!$update && !$this->getSubscriptionWidget($form_state)->isHidden() && !count($form_state->getValue('subscriptions'))) {
         $form_state->setErrorByName('subscriptions', t('You must select at least one newsletter.'));
     }
     parent::validateForm($form, $form_state);
 }
开发者ID:aritnath1990,项目名称:simplenewslatest,代码行数:19,代码来源:SubscriptionsFormBase.php


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