FieldValidationRuleAddForm.php in Field Validation 8
File
src/Form/FieldValidationRuleAddForm.php
View source
<?php
namespace Drupal\field_validation\Form;
use Drupal\Core\Form\FormStateInterface;
use Drupal\field_validation\FieldValidationRuleManager;
use Drupal\field_validation\FieldValidationRuleSetInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class FieldValidationRuleAddForm extends FieldValidationRuleFormBase {
protected $fieldValidationRuleManager;
public function __construct(FieldValidationRuleManager $field_validation_rule_manager) {
$this->fieldValidationRuleManager = $field_validation_rule_manager;
}
public static function create(ContainerInterface $container) {
return new static($container
->get('plugin.manager.field_validation.field_validation_rule'));
}
public function buildForm(array $form, FormStateInterface $form_state, FieldValidationRuleSetInterface $field_validation_rule_set = NULL, $field_validation_rule = NULL, $field_name = '') {
$form = parent::buildForm($form, $form_state, $field_validation_rule_set, $field_validation_rule);
$form['#title'] = $this
->t('Add %label field validation rule', [
'%label' => $this->fieldValidationRule
->label(),
]);
$form['actions']['submit']['#value'] = $this
->t('Add Rule');
return $form;
}
protected function prepareFieldValidationRule($field_validation_rule) {
$field_validation_rule = $this->fieldValidationRuleManager
->createInstance($field_validation_rule);
$field_validation_rule
->setWeight(count($this->fieldValidationRuleSet
->getFieldValidationRules()));
return $field_validation_rule;
}
}