Проверьте свойства виртуального класса (Zend\Db\RowGateway)

Я хочу использовать Symfony Validator Component для проверки объектов, подобных Zend\Db\RowGateway. Очень упрощенный пример этого класса выглядит так:

class Task
{
    private $values;
    public function __construct(array $values)
    {
        $this->values = $values;
    }

    public function __get($name)
    {
        return $this->values[$name];
    }
}

validation.yml:

Task:
    properties:
        name:
            - NotBlank: ~

При проверке экземпляра Task я получаю следующую ошибку:Имя свойства не существует в классе Row_Place

1 ответ

Если вы хотите проверить базовые данные в коллекции (массиве), вы можете использовать ограничение Collection. Например, вы можете определить валидацию, например:

Task:
    properties:
        value:
            - Collection:
                fields:
                    name:
                        - Required
                            - NotBlank: ~

Надеюсь это поможет

Другие вопросы по тегам