троичный оператор не следует правильному утверждению и не работает должным образом в php - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь использовать троичный оператор для добавления имени класса в поле ввода в php с условием. По отладке я вижу, что результаты ..condition верны, то есть возвращают true или false, как и ожидалось, но результирующее утверждение ("": "") не выполняется должным образом. Кажется, что оно всегда остается верным, тогда как я могу ясно, что оператор отладки корректно приводит к условию.

controller: // Этот раздел работает отлично, пожалуйста, не комментируйте этот раздел ... только для идеи Спасибо:)

  if (!isset($row['number']) || StringHelper::blank($row['number']))
        { $this->getRequest()->setError('rows{number}','Number field is required');       
        }

шаблон:

<?php echo input_tag('rows[][number]', $row['number'], array('class' =>'test '.(($sf_request->hasError('rows{number}')) ?  "form-error" : ""))); ?>

1 Ответ

0 голосов
/ 09 марта 2020

Добавьте пробел после test и удалите одну лишнюю пару скобок:

array('class' =>'test '.($sf_request->hasError('rows{number}') ?  "form-error" : ""))
...