如何在Drupal 6中验证自定义节点表单中的nodereference字段?

时间:2009-05-13 19:45:13

标签: drupal validation

我在自定义pass-node-form.tpl.php中有一个自动完成的nodereference字段(field_hostnamelastref)。该字段引用自其他内容类型的自动标题中的标记生成的四个项目(姓氏,名字,ID#和状态)。

在nodereference字段中输入姓氏时,如果该姓氏的相应状态为“SUSPENDED”,我希望能够使用错误消息和阻止表单提交来验证该字段。

这是我第一次尝试编写自己的验证,但没有运气。尝试了很多不同的方式ereg,preg-match和strpos。以下是我最近的尝试:

<?php
  function pass_validate($form_id,$form_values) {
    $status = 'SUSPENDED';
    if (strpos ($form_values['hostnamelastref'], $status)) {
      form_set_error('hostnamelastref', t('The account for this person has been suspended.', array('@type' => $type->name)));
    }
  }
?>

不确定我是否在这个球场。任何帮助非常感谢!

1 个答案:

答案 0 :(得分:0)

如果您可以以某种方式将SUSPENDED信息传递给视图,那么您可以使用视图限制在节点参考中选择的节点。如果用户输入了不在列表中的节点,则nodereference将负责验证。

但我不确定我理解你的问题。

相关问题