mikhail kraynuk. form api. drupal 8

Post on 14-Aug-2015

12 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Form API – Drupal 8Крайнюк Михаил

Drupal 8 – объектно-ориентирован.

Form API теперь тоже…

<?php/*** @file* Contains \Drupal\Example\Form\ExampleForm.*/

namespace Drupal\example\Form; use Drupal\Core\Form\FormInterface;

/*** Provides a simple example form.*/class ExampleForm implements FormInterface {

}

public function getFormID()

public function buildForm(array $form, array &$form_state)

public function validateForm(array &$form, array &$form_state)

public function submitForm(array &$form, array &$form_state)

public function buildForm(array $form, array &$form_state) {

$form['my_text_field'] = array('#type' => 'textfield','#title' => 'Example',

);

return $form; }

Form Builder

public function validateForm(array $form, FormStateInterface &$form_state) {

if (strlen($form_state->getValue('phone_number')) < 3) {

$form_state->setErrorByName('phone_number', $this->t('The phone number is too short.'));

}

}

Form Validate

use Drupal\system\SystemConfigFormBase; class ExampleConfigForm extends SystemConfigFormBase {

/*** Implements \Drupal\Core\Form\FormInterface::getFormID().*/public function getFormID() { return 'example_systemconfigformbase';

}

/*** Implements \Drupal\Core\Form\FormInterface::buildForm().*/public function buildForm(array $form, array &$form_state) { $form = parent::buildForm($form, $form_state); // Use the Form API to define form elements.return $form;

} …

system_settings_form()

Спасибо!

Крайнюк Михаил

kraynuk.m@i20.biz

top related