如何验证段落内部的“文件”字段以drupal格式填写?

时间:2019-04-10 16:00:36

标签: php drupal drupal-8 paragraph

我创建了一个Drupal表单,其中包含一个段落

此段包含文件字段。

我要验证用户是否已附加文件。

function my_module_form_node_form_alter(&$form, FormStateInterface &$form_state) {
    $form['#validate'][] = 'form_validation';
}
function form_validation($form, FormStateInterface &$form_state) {

    if(!$form_state->getValue('field_qr_dc_spatial_temp_comp')[0]['subform']['field_dc_1_document']['0']['value']){
        $form_state->setErrorByName("field_qr_dc_spatial_temp_comp][0][subform][field_dc_1_document][0",t('Error'));
    }
}

field_qr_dc_spatial_temp_comp是该段落

field_dc_1_document是文件字段

有了该代码,我总是得到未填充的代码。

我尝试检查“ form_state”,但是找不到我尝试上传的文档。

1 个答案:

答案 0 :(得分:0)

我发现我必须检查“ fids”字段,如下所示:

$form_state->getValue('field_qr_dc_spatial_temp_comp')[0]['subform']['field_dc_1_document']['0']['fids']

如果附加了文件,则该值将不会为空。

我以前曾尝试过,但是使用kint进行调试,似乎带有异步调用的kint(例如上载文件)存在冲突,并且该字段始终为空。