我想根据作为分类法术语存储在词汇表中的许可号列表来验证许可证号。返回的布尔值随后应激活默认禁用的其他表单字段。
发布于 2019-02-25 16:34:28
您可以创建一个自定义webform验证。
在自定义模块中,您需要实现CUSTOM_MODULE_webform_element_alter,在其中您将定义一个新的验证方法。
您必须实现回调方法validate(),如上面的文档所述。
在validate方法中,必须使用类似于以下代码的方法将提交的值与词汇表术语进行比较
// ...
$vid = 'vocabularyname';
$terms = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree($vid);
foreach ($terms as $term) {
if($value == $term->name){
// ... found
}
} About您的第二部分问题/字段的条件启用
Webform内置条件逻辑可能无法处理它,因为它只依赖于值而不是另一个字段的验证状态。也许可以使用有条件的_字段来完成,但我还没有亲自尝试过。
https://drupal.stackexchange.com/questions/276944
复制相似问题