Изменение значения поля на основе другого поля с помощью zend-фильтра - PullRequest
0 голосов
/ 19 марта 2019

В zend-filter , возможно ли каким-либо образом изменить значение поля на основе значения другого поля?В zend-validator есть валидатор с именем Identical, который делает именно это и делает этот процесс тривиальным для валидаторов, но до сих пор я не нашел способа получить контекст в фильтрах.

Пример кода:

class SomeFilter extends InputFilter
{
    public function __construct()
    {
        $this->add([
            'name' => 'option1',
            'filters' => [
                new StringTrim(),
                new ToNull(),
            ],
        ]);
        $this->add([
            'name' => 'option2',
            'filters' => [
                new StringTrim(),
                new ToNull(),
                // TODO: Make value null if option1 is not null
            ],
        ]);
    }
}

Есть ли способ реализовать функциональность в комментарии выше примера?Если нет, то какой будет самый элегантный обходной путь?В данный момент похоже, что ручная коррекция после запуска isValid() на содержащей форме необходима, что не могло быть намерением zend-фильтра.

...