typo3 extbase:发生了什么" forProperty"在验证器?

时间:2015-11-19 15:25:40

标签: typo3 extbase

我有一个模型,我们称之为Entry。我创建了一个EntryValidator来验证某些字段。例如,字段" name"一定不能空着。我可以添加如下错误:

public function isValid($entry) {

    if(!$entry->getName() || trim($entry->getName()) == ''){
        $this->addError('name must not be empty', 111);
    }
}

但是如何将此错误分配给字段" name" ?我试图谷歌它,我一遍又一遍地发现了这个:

$this->result->forProperty('name')->addError($error);

但是这不再起作用了(我使用的是typo3 6.2)。我现在找到了如何做到这一点的线索。

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须在isValid方法中添加false false和true。

public function isValid($entry) {

    if(!$entry->getName() || trim($entry->getName()) == ''){
        $this->addError('name must not be empty', 111);
        return false;
    }
    return true;
}

或使用错误对象

 $this->result->forProperty('name')->addError(
                        new \TYPO3\CMS\Extbase\Error\Error(
                            $this->translateErrorMessage(
                                'key',
                                'ExtKey',
                                array()
                            ),
                            111)
                    );