У меня есть форма. Я пытаюсь утверждать, что если одно поле не является нулевым, то другое поле также не должно быть нулевым. Попытка сделать это с помощью аннотаций Symfony, так как я не хочу, чтобы код находился в контроллере, и мне сказали, что это будет хорошим способом сделать это.
Я пытался использовать Assert \ Expression, однако я получаю различные ошибки в поле, которое проверяю. Это немного относится к тому, что он говорит Variable
, когда мне нужно, чтобы он ссылался на поле.
// The field that I want to check if it is null
'activeTestData',
null,
[
'label' => 'form.label.active_test_data',
'required' => false,
]
)
->add(
// The field that can't be null if the activeTestData field is not null
'activeTestDataUnit',
ChoiceType::class,
[
'label' => 'form.label.active_test_data_unit',
'required' => false,
'choices' => [
'form.label.active_test_please_select' => '',
'Byte(s)' => 'b',
'Kilobyte(s)' => 'k',
'Megabyte(s)' => 'm',
'Gigabyte(s)' => 'g',
],
// Where I am having the issue
'constraints' => [
new Assert\Expression([
'expression' => "!activeTestData == null",
'message' => 'Please enter a unit for active test data'
]),
],
Мне нужна ошибка ФОРМЫ, когда в activeTestDataUnit ничего нет, а в activeTestData что-то есть. К сожалению, я получаю ошибку Symfony:
Variable "activeTestData" is not valid around position 2 for expression !activeTestData == null
.