public function FormBuilder::getFormId in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Form/FormBuilder.php \Drupal\Core\Form\FormBuilder::getFormId()
Determines the ID of a form.
Parameters
\Drupal\Core\Form\FormInterface|string $form_arg: The value is identical to that of self::getForm()'s $form_arg argument.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
string The unique string identifying the desired form.
Overrides FormBuilderInterface::getFormId
2 calls to FormBuilder::getFormId()
- FormBuilder::buildForm in core/
lib/ Drupal/ Core/ Form/ FormBuilder.php - Builds and processes a form for a given form ID.
- FormBuilder::submitForm in core/
lib/ Drupal/ Core/ Form/ FormBuilder.php - Retrieves, populates, and processes a form.
File
- core/
lib/ Drupal/ Core/ Form/ FormBuilder.php, line 189
Class
- FormBuilder
- Provides form building and processing.
Namespace
Drupal\Core\FormCode
public function getFormId($form_arg, FormStateInterface &$form_state) {
// If the $form_arg is the name of a class, instantiate it. Don't allow
// arbitrary strings to be passed to the class resolver.
if (is_string($form_arg) && class_exists($form_arg)) {
$form_arg = $this->classResolver
->getInstanceFromDefinition($form_arg);
}
if (!is_object($form_arg) || !$form_arg instanceof FormInterface) {
throw new \InvalidArgumentException("The form argument {$form_arg} is not a valid form.");
}
// Add the $form_arg as the callback object and determine the form ID.
$form_state
->setFormObject($form_arg);
if ($form_arg instanceof BaseFormIdInterface) {
$form_state
->addBuildInfo('base_form_id', $form_arg
->getBaseFormId());
}
return $form_arg
->getFormId();
}