我在自定义的pass-node-form.tpl.php中有一个自动补全节点引用字段(field_hostnamelastref)。该字段引用四个项目(姓氏、名字、id #和状态),这些项目是从另一个内容类型的autotitle中的标记生成的。
在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)));
}
}
?>我都不确定我是不是在这件事上。任何帮助都非常感谢!
发布于 2009-05-18 13:20:59
如果您可以将挂起的信息以某种方式传递给视图,那么您就可以使用视图限制在nodereference中选择的节点。如果用户输入的节点不在列表中,那么nodereference将负责验证。
但我不确定我是否理解你的问题。
https://stackoverflow.com/questions/860019
复制相似问题