如何在 symfony 表单中勾选多维字段中的特定复选框?

How to tick a specific checkbox from a multi-dimensional field in a symfony form?

给定生成这种 HTML 的类型:

<div class="form-check">
    <input
            type="checkbox" 
            id="app_user_responsibilities_14" 
            name="app_user[responsibilities][]" 
            data-responsibility-description="A description." 
            class="form-check-input" 
            value="14">
        <label class="form-check-label" for="app_user_responsibilities_14">Checkbox label</label>
</div>

我如何使用 Symfony DOM 爬虫专门勾选它?

我试过了:

    $form->setValues([
        'app_user[username]' => $username,
        'app_user[responsibilities]' => [
            14
        ],
    ]);

14 是输入的 Responsibility id 和 value

但是我在运行测试的时候出错了:

1) Tests\App\Controller\UserControllerTest::testCreateUserWithResponsibility14
InvalidArgumentException: Input "app_user[responsibilities][]" cannot take "14" as a value (possible values: 8).

因为我有一个不同于值的索引,所以我需要在选项中使用 disableValidation 函数:

$form->disableValidation()
    ->setValues([
        'app_user[username]' => $username,
        'app_user[responsibilities]' => [
            14,
    ],
]);