public LanguageAddForm::form(array $form, FormStateInterface $form_state)
Gets the actual form array to be built.
Overrides EntityForm::form
See also
\Drupal\Core\Entity\EntityForm::processForm()
\Drupal\Core\Entity\EntityForm::afterBuild()
File
- core/modules/language/src/Form/LanguageAddForm.php, line 26
Class
- LanguageAddForm
- Controller for language addition forms.
Namespace
Drupal\language\Form
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | public function form( array $form , FormStateInterface $form_state ) { $form [ '#title' ] = $this ->t( 'Add language' ); $predefined_languages = $this ->languageManager->getStandardLanguageListWithoutConfigured(); $predefined_languages [ 'custom' ] = $this ->t( 'Custom language...' ); $predefined_default = $form_state ->getValue( 'predefined_langcode' , key( $predefined_languages )); $form [ 'predefined_langcode' ] = array ( '#type' => 'select' , '#title' => $this ->t( 'Language name' ), '#default_value' => $predefined_default , '#options' => $predefined_languages , ); $form [ 'predefined_submit' ] = array ( '#type' => 'submit' , '#value' => $this ->t( 'Add language' ), '#name' => 'add_language' , '#limit_validation_errors' => array ( array ( 'predefined_langcode' ), array ( 'predefined_submit' )), '#states' => array ( 'invisible' => array ( 'select#edit-predefined-langcode' => array ( 'value' => 'custom' ), ), ), '#validate' => array ( '::validatePredefined' ), '#submit' => array ( '::submitForm' , '::save' ), '#button_type' => 'primary' , ); $custom_language_states_conditions = array ( 'select#edit-predefined-langcode' => array ( 'value' => 'custom' ), ); $form [ 'custom_language' ] = array ( '#type' => 'container' , '#states' => array ( 'visible' => $custom_language_states_conditions , ), ); $this ->commonForm( $form [ 'custom_language' ]); $form [ 'custom_language' ][ 'langcode' ][ '#states' ] = array ( 'required' => $custom_language_states_conditions , ); $form [ 'custom_language' ][ 'label' ][ '#states' ] = array ( 'required' => $custom_language_states_conditions , ); $form [ 'custom_language' ][ 'submit' ] = array ( '#type' => 'submit' , '#value' => $this ->t( 'Add custom language' ), '#name' => 'add_custom_language' , '#validate' => array ( '::validateCustom' ), '#submit' => array ( '::submitForm' , '::save' ), ); return $form ; } |
Please login to continue.