簡體   English   中英

typo3 extbase:驗證器中的“ forProperty”發生了什么?

[英]typo3 extbase: what happened to “forProperty” in a validator?

我有一個模型,我們稱它為Entry。 我創建了EntryValidator來驗證某些字段。 例如,字段“名稱”不能為空。 我可以添加這樣的錯誤:

public function isValid($entry) {

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

但是如何將這個錯誤分配給“名稱”字段? 我試圖用谷歌搜索,一遍又一遍地發現是這樣的:

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

但是,這不再起作用了(我正在使用typo3 6.2)。 我發現了有關如何立即執行此操作的線索。

謝謝!

您必須在isValid方法中添加return 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)
                    );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM