В 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-фильтра.