如何验证段落中的“文件”字段是否以drupal形式填充?

问题描述 投票:0回答:1

我创建了一个带有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”,但我找不到我尝试上传的文档。

php drupal drupal-8 paragraph
1个回答
0
投票

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

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

如果附加了文件,则此值不为空。

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

© www.soinside.com 2019 - 2024. All rights reserved.