【问题标题】:CCK Field, minimum number of valuesCCK 字段,值的最小数量
【发布时间】:2011-06-22 10:43:00
【问题描述】:

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

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

提前谢谢你。

【问题讨论】:

    标签: php drupal cck required


    【解决方案1】:

    答案就在 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');
      }
    }
    

    【讨论】:

    • 还没有弄清楚第一点,但第二点就像一个魅力。虽然不显示五个元素就无法使用,但现在还可以。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多