这个验证叫Constraint,有两种添加验证的时机,一个是在创建的时候,一个是已经创建了。
比如:
$fields['title'] = BaseFieldDefinition::create('string')
->setLabel(t('Title'))
->setDescription(t('The name of the feed (or the name of the website providing the feed).'))
->setRequired(TRUE)
->setSetting('max_length', 255)
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => -5,
))
->setDisplayConfigurable('form', TRUE)
->addConstraint('FeedTitle', []);
如果要自定义Constraint的时候,要定义个plugin,通过注解的方式声明,添加到
src/Plugin/Validation/Constraint
目录下,命名空间用如下方式:
Drupal\your_module\Plugin\Validation\Constraint
具体参考:
https://www.drupalwatchdog.com/volume-5/issue-2/introducing-drupal-8s-entity-validation-api