CCK字段,最小值数


CCK Field, minimum number of values

我创建了一个实现CCK字段的模块。将字段添加到内容类型时,我已将值的数量设置为无限制,并将字段设置为必需字段。

有没有办法设置所需值的数量?我需要用户输入5个或更多的值。

提前谢谢。

答案在hook_form_alter()中--http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_form_alter/6

在我看来,你需要做两件事:

  1. 将表单项更改为包含5表单加载时的条目(而不是通常为2,带有"添加更多"按钮)。

  2. 添加$form["#validate"]=表单的"my_form_validate"条目以检查是否设置了至少5个。

1可能有点挑战;我不确定表单第一次是如何加载多个项目的。如果你在$form上做vardump,这可能是显而易见的。

对于2,它应该很简单——

function my_form_validate($form, &$form_state) {
  $i=0;
  foreach ($form_state['field_my_field_name']...) {
    if (isset(...)) { $i++; }
  }
  if ($i < 5) {
    form_set_error($form_state['field_my_field_name'], 'You must enter 5 foobars');
  }
}