2012-03-22 42 views
0

我想写一个函数,它会从drupal数据库中得到我需要的字段的名称。然后,我可以编写一个验证函数来提醒用户他/她没有进入必填字段。如何查询Drupal 7数据库中的必填字段?

+1

必填字段是什么? – Clive 2012-03-22 18:21:48

+0

我需要知道特定内容类型的必填字段,以便我可以为每个必填字段编写一个验证函数,而不是一个验证函数。我正尝试使用node_save()将其他CMS的内容迁移到Drupal,但它跳过了drupal验证。 – Pearl 2012-03-22 18:41:33

回答

0

您可以使用field_info_instances()功能得到这很容易:

$instances = field_info_instances('node', 'invoice'); 
$required = array(); 
foreach ($instances as $field_name => $instance) { 
    if ($instance['required'] == 1) { 
    $required[] = $field_name; 
    } 
} 

为了让您需要查询的字段不是实例字段类型。在循环中,您可以拨打:

$field = field_info_field($field_name); 
$type = $field['type']; 
+0

这给了我需要的清单 - 谢谢! – Pearl 2012-03-22 20:11:13

+0

有没有办法获得字段类型呢? – Pearl 2012-03-23 21:49:20

+0

@珍珠有,我用一些代码更新了答案 – Clive 2012-03-23 21:54:44