本文整理汇总了PHP中Drupal\Core\Form\FormStateInterface类的典型用法代码示例。如果您正苦于以下问题:PHP FormStateInterface类的具体用法?PHP FormStateInterface怎么用?PHP FormStateInterface使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了FormStateInterface类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: submitForm
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state)
{
/** @var \Drupal\search_api\ServerInterface $server */
$server = $this->getEntity();
try {
$server->deleteAllItems();
drupal_set_message($this->t('All indexed data was successfully deleted from the server.'));
} catch (SearchApiException $e) {
drupal_set_message($this->t('Indexed data could not be cleared for some indexes. Check the logs for details.'), 'error');
}
$failed_reindexing = array();
$properties = array('status' => TRUE, 'read_only' => FALSE);
foreach ($server->getIndexes($properties) as $index) {
try {
$index->reindex();
} catch (SearchApiException $e) {
$args = array('%index' => $index->label());
watchdog_exception('search_api', $e, '%type while clearing index %index: @message in %function (line %line of %file).', $args);
$failed_reindexing[] = $index->label();
}
}
if ($failed_reindexing) {
$args = array('@indexes' => implode(', ', $failed_reindexing));
drupal_set_message($this->t('Failed to mark the following indexes for reindexing: @indexes. Check the logs for details.', $args), 'warning');
}
$form_state->setRedirect('entity.search_api_server.canonical', array('search_api_server' => $server->id()));
}
示例2: submit
/**
* {@inheritdoc}
*/
public function submit(array $form, FormStateInterface $form_state)
{
$this->entity->delete();
drupal_set_message($this->t('Responsive image mapping %label has been deleted.', array('%label' => $this->entity->label())));
$this->logger('responsive_image')->notice('Responsive image mapping %label has been deleted.', array('%label' => $this->entity->label()));
$form_state->setRedirectUrl($this->getCancelUrl());
}
示例3: submitForm
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state)
{
$settings = array('types' => $form_state->getValue('types'));
$this->currentBundle->setAssignmentSettings(self::METHOD_ID, $settings)->save();
$this->setRedirect($form_state);
drupal_set_message($this->t('Package assignment configuration saved.'));
}
示例4: submitForm
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state)
{
$this->taxonomyTerm->delete();
drupal_set_message($this->t('The forum %label and all sub-forums have been deleted.', array('%label' => $this->taxonomyTerm->label())));
$this->logger('forum')->notice('forum: deleted %label and all its sub-forums.', array('%label' => $this->taxonomyTerm->label()));
$form_state->setRedirectUrl($this->getCancelUrl());
}
示例5: validateExposed
public function validateExposed(&$form, FormStateInterface $form_state)
{
if (empty($this->options['exposed'])) {
return;
}
if (empty($this->options['expose']['identifier'])) {
return;
}
$identifier = $this->options['expose']['identifier'];
$input = $form_state->getValue($identifier);
if ($this->options['is_grouped'] && isset($this->options['group_info']['group_items'][$input])) {
$this->operator = $this->options['group_info']['group_items'][$input]['operator'];
$input = $this->options['group_info']['group_items'][$input]['value'];
}
$uids = [];
$values = $form_state->getValue($identifier);
if ($values && (!$this->options['is_grouped'] || $this->options['is_grouped'] && $input != 'All')) {
foreach ($values as $value) {
$uids[] = $value['target_id'];
}
}
if ($uids) {
$this->validated_exposed_input = $uids;
}
}
示例6: validateElement
/**
* Form validation handler for widget elements.
*
* @param array $element
* The form element.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The form state.
*/
public static function validateElement(array $element, FormStateInterface $form_state)
{
if ($element['#required'] && $element['#value'] == '_none') {
$form_state->setError($element, t('@name field is required.', array('@name' => $element['#title'])));
}
// Massage submitted form values.
// Drupal\Core\Field\WidgetBase::submit() expects values as
// an array of values keyed by delta first, then by column, while our
// widgets return the opposite.
if (is_array($element['#value'])) {
$values = array_values($element['#value']);
} else {
$values = array($element['#value']);
}
// Filter out the 'none' option. Use a strict comparison, because
// 0 == 'any string'.
$index = array_search('_none', $values, TRUE);
if ($index !== FALSE) {
unset($values[$index]);
}
// Transpose selections from field => delta to delta => field.
$items = array();
foreach ($values as $value) {
$items[] = array($element['#key_column'] => $value);
}
$form_state->setValueForElement($element, $items);
}
示例7: submit
/**
* {@inheritdoc}
*/
public function submit(array &$element, array &$form, FormStateInterface $form_state)
{
$media_entities = [];
$upload = $form_state->getValue('upload');
if (isset($upload['uploaded_files']) && is_array($upload['uploaded_files'])) {
$config = $this->getConfiguration();
$user = $this->currentUser;
/** @var \Drupal\media_entity\MediaBundleInterface $bundle */
$bundle = $this->entityManager->getStorage('media_bundle')->load($this->configuration['media_entity_bundle']);
// First save the file.
foreach ($upload['uploaded_files'] as $uploaded_file) {
$file = $this->dropzoneJsUploadSave->saveFile($uploaded_file['path'], $config['settings']['upload_location'], $config['settings']['extensions'], $user);
if ($file) {
$file->setPermanent();
$file->save();
// Now save the media entity.
if ($this->moduleHandler->moduleExists('media_entity')) {
/** @var \Drupal\media_entity\MediaInterface $media_entity */
$media_entity = $this->entityManager->getStorage('media')->create(['bundle' => $bundle->id(), $bundle->getTypeConfiguration()['source_field'] => $file, 'uid' => $user->id(), 'status' => TRUE, 'type' => $bundle->getType()->getPluginId()]);
$event = $this->eventDispatcher->dispatch(Events::MEDIA_ENTITY_CREATE, new DropzoneMediaEntityCreateEvent($media_entity, $file, $form, $form_state, $element));
$media_entity = $event->getMediaEntity();
$media_entity->save();
$media_entities[] = $media_entity;
} else {
drupal_set_message(t('The media entity was not saved, because the media_entity module is not enabled.'));
}
}
}
}
if (!empty(array_filter($media_entities))) {
$this->selectEntities($media_entities, $form_state);
$this->clearFormValues($element, $form_state);
}
}
示例8: submitForm
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state)
{
/** @var \Drupal\payment\Plugin\Payment\LineItem\PaymentLineItemInterface $line_item */
$line_item = $form_state->get('payment_line_item');
$line_item->submitConfigurationForm($form['line_item'], $form_state);
$form_state->setRedirect('user.login');
}
示例9: submitOptionsForm
public function submitOptionsForm(&$form, FormStateInterface $form_state)
{
$exposed_form_options = $form_state->getValue('exposed_form_options');
$form_state->setValue(array('exposed_form_options', 'text_input_required_format'), $exposed_form_options['text_input_required']['format']);
$form_state->setValue(array('exposed_form_options', 'text_input_required'), $exposed_form_options['text_input_required']['value']);
parent::submitOptionsForm($form, $form_state);
}
示例10: buildForm
/**
* {@inheritdoc}
*/
public function buildForm(array $form, FormStateInterface $form_state, LanguageInterface $language = NULL)
{
if ($language) {
$form_state->set('langcode', $language->getId());
}
return parent::buildForm($form, $form_state);
}
示例11: submitForm
/**
* {@inheritdoc}
*/
public function submitForm(array &$form, FormStateInterface $form_state)
{
drupal_set_message($this->t('The static context %label has been removed.', ['%label' => $this->page->getStaticContext($this->staticContext)['label']]));
$this->page->removeStaticContext($this->staticContext);
$this->page->save();
$form_state->setRedirectUrl($this->getCancelUrl());
}
示例12: submit
/**
* {@inheritdoc}
*/
public function submit(array $form, FormStateInterface $form_state)
{
$this->entity->delete();
drupal_set_message($this->t('Custom block %label has been deleted.', array('%label' => $this->entity->label())));
$this->logger('block_content')->notice('Custom block %label has been deleted.', array('%label' => $this->entity->label()));
$form_state->setRedirect('block_content.list');
}
示例13: formElement
/**
* {@inheritdoc}
*/
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state)
{
/* @var $instance \Drupal\mailchimp_lists\Plugin\Field\FieldType\MailchimpListsSubscription */
$instance = $items[0];
$subscribe_default = $instance->getSubscribe();
$email = NULL;
if (!empty($instance->getEntity())) {
$email = mailchimp_lists_load_email($instance, $instance->getEntity(), FALSE);
if ($email) {
$subscribe_default = mailchimp_is_subscribed($instance->getFieldDefinition()->getSetting('mc_list_id'), $email);
}
}
$element += array('#title' => SafeMarkup::checkPlain($element['#title']), '#type' => 'fieldset');
$element['subscribe'] = array('#title' => t('Subscribe'), '#type' => 'checkbox', '#default_value' => $subscribe_default ? TRUE : $this->fieldDefinition->isRequired(), '#required' => $this->fieldDefinition->isRequired(), '#disabled' => $this->fieldDefinition->isRequired());
$form_id = $form_state->getFormObject()->getFormId();
if ($this->fieldDefinition->getSetting('show_interest_groups') || $form_id == 'field_ui_field_edit_form') {
$mc_list = mailchimp_get_list($instance->getFieldDefinition()->getSetting('mc_list_id'));
$element['interest_groups'] = array('#type' => 'fieldset', '#title' => SafeMarkup::checkPlain($instance->getFieldDefinition()->getSetting('interest_groups_title')), '#weight' => 100, '#states' => array('invisible' => array(':input[name="' . $instance->getFieldDefinition()->getName() . '[0][value][subscribe]"]' => array('checked' => FALSE))));
if ($form_id == 'field_ui_field_edit_form') {
$element['interest_groups']['#states']['invisible'] = array(':input[name="field[settings][show_interest_groups]"]' => array('checked' => FALSE));
}
$groups_default = $instance->getInterestGroups();
if ($groups_default == NULL) {
$groups_default = array();
}
if ($mc_list['stats']['group_count']) {
$element['interest_groups'] += mailchimp_interest_groups_form_elements($mc_list, $groups_default, $email);
}
}
return array('value' => $element);
}
示例14: finish
/**
* {@inheritdoc}
*/
public function finish(array &$form, FormStateInterface $form_state)
{
$cached_values = $form_state->getTemporaryValue('wizard');
drupal_set_message($this->t('Value One: @one', ['@one' => $cached_values['one']]));
drupal_set_message($this->t('Value Two: @two', ['@two' => $cached_values['two']]));
parent::finish($form, $form_state);
}
示例15: validateMatchedPath
/**
* Form element validation handler for matched_path elements.
*
* Note that #maxlength is validated by _form_validate() already.
*
* This checks that the submitted value matches an active route.
*/
public static function validateMatchedPath(&$element, FormStateInterface $form_state, &$complete_form)
{
if (!empty($element['#value']) && ($element['#validate_path'] || $element['#convert_path'] != self::CONVERT_NONE)) {
/** @var \Drupal\Core\Url $url */
if ($url = \Drupal::service('path.validator')->getUrlIfValid($element['#value'])) {
if ($url->isExternal()) {
$form_state->setError($element, t('You cannot use an external URL, please enter a relative path.'));
return;
}
if ($element['#convert_path'] == self::CONVERT_NONE) {
// Url is valid, no conversion required.
return;
}
// We do the value conversion here whilst the Url object is in scope
// after validation has occurred.
if ($element['#convert_path'] == self::CONVERT_ROUTE) {
$form_state->setValueForElement($element, array('route_name' => $url->getRouteName(), 'route_parameters' => $url->getRouteParameters()));
return;
} elseif ($element['#convert_path'] == self::CONVERT_URL) {
$form_state->setValueForElement($element, $url);
return;
}
}
$form_state->setError($element, t('This path does not exist or you do not have permission to link to %path.', array('%path' => $element['#value'])));
}
}