1

有没有说 Drupal 验证表单元素,如电子邮件字段、密码、数字字段自动验证让我们说绑定系统验证器

$form['email] = array(
   '#title' => t('Email'),
   '#type' => 'textfield',
   '#validate_as' => array('email', ...),
   ...
);

4

4 回答 4

6

要验证 Drupal 中的数字字段,请使用:

'#element_validate' => array('element_validate_number')

无需创建自定义验证功能。 http://api.drupal.org/api/drupal/includes%21form.inc/function/element_validate_number/7

于 2012-06-11T21:15:32.573 回答
5

Rimian 是对的,也是错的。

Rimian 指出的好处是,您可以使用#element_validate.

但是,我不知道您可以调用一组表单 api 验证函数来测试最常见的事情,例如,如果值为:

  • 一个整数
  • 正整数
  • 一个有效的日期(虽然这样的函数存在于日期模块中)
  • 一个电子邮件地址(您可以valid_email_address用来检查电子邮件,但您需要一个函数来引发验证错误)

因此,虽然您可以执行此操作,但工作量比您希望的要多,因为您需要自己创建这些验证函数。但是一旦你这样做了,你就可以用#element_validate.

使用#element_validate主要围绕复杂的验证 fx 日期验证、位置验证等,因为它需要一些工作来创建这些验证功能。大多数时候,您不需要验证那么多数字等(您可以很容易地在使用循环的正常验证函数中完成)。所以我不确定这对你有多大帮助,但绝对有可能。

于 2010-10-23T09:35:50.253 回答
1

是的!

虽然我没有尝试过太多。

http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#element_validate

$form = array(  
  '#type' => 'fieldset',  
  '#title' => t('Input format'),  
  '#collapsible' => TRUE,  
  '#collapsed' => TRUE,  
  '#weight' => $weight,  
  '#element_validate' => array('filter_form_validate'),  
);  
于 2010-10-23T08:53:21.507 回答
1

表单 API 验证模块完全符合您的要求:http ://drupal.org/project/fapi_validation

对于客户端验证,还有http://drupal.org/project/clientside_validation(可以使用 Form API Validation 提供的规则)。

于 2012-09-03T05:35:56.743 回答