2012-03-22 41 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