嵌套字段元素的 Drupal 验证

Drupal validation for nested field element

我有一个用于保存详细信息的 drupal 表单,我为表单中的每个元素编写了验证。以下方法用于显示错误。然后它会自动突出显示必填字段。

form_set_error('field_athletes_male', 'Athletes Male field is required.'); 

我的问题是嵌套元素名称如下

field_coaching_programme[und][0][field_organisation_delivered_by][und][0][value]

验证消息显示成功但元素未突出显示

您正在寻找的答案可能已经在documentation

相关部分如下:

$name: The name of the form element. If the #parents property of your form element is array('foo', 'bar', 'baz') then you may set an error on 'foo' or 'foo][bar][baz'. Setting an error on 'foo' sets an error for every element where the #parents array starts with 'foo'.

因此您应该尝试执行以下操作:

form_set_error("field_coaching_programme][field_organisation_delivered_by", t("Error Message"))

尝试了以下代码并按预期工作

form_set_error('field_coaching_programme][und][0][field_organisation_delivered_by', 'Organisation delivered by field is required.');