Builds a form for a single entity field.
public function build(array $form, array &$form_state, EntityInterface $entity, $field_name) {
if (!isset($form_state['entity'])) {
$this
->init($form_state, $entity, $field_name);
}
// Add the field form.
field_attach_form($form_state['entity'], $form, $form_state, $form_state['langcode'], array(
'field_name' => $form_state['field_name'],
));
// Add a submit button. Give it a class for easy JavaScript targeting.
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#attributes' => array(
'class' => array(
'edit-form-submit',
),
),
);
// Add validation and submission handlers.
$form['#validate'][] = array(
$this,
'validate',
);
$form['#submit'][] = array(
$this,
'submit',
);
// Simplify it for optimal in-place use.
$this
->simplify($form, $form_state);
return $form;
}