簡體   English   中英

如何在TYPO3 CMS 7+中編寫驗證器?

[英]How to write a Validator in TYPO3 CMS 7+?

我將在TYPO3 CMS 7.6.x擴展中編寫一個驗證器。 我使用的是包括Fluid在內的現代MVC結構,而不是舊的pi1系統。 這是我的測試驗證器(MyownValidator.php):

namespace My\Extension\Validation\Validator;
 /**
  * MyownValidator
  */
class MyownValidator extends \TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator {
    /**
     * ...
     */
    public function isValid($data){
        if( $data != 'hello world' ){
            $this->addError('ERRORMESSAGE', 1468329929);
            return FALSE;
        }
        return TRUE;    
    }

}

在模型類中,添加驗證行:

/**
 * testattribute
 *
 * @var string
 * @validate Myown
 */
protected $testattribute = '';

在清除安裝工具中的完整緩存后,什么也沒有發生。 我仍然可以使用該testattribute的任何值來創建此模型的對象。

然后,我查看了TCA配置,發現:

'eval' => 'trim,required'

有沒有辦法使用TYPO3 Fluid這樣的模型進行驗證? 還是我必須像TYPO3 CMS 4一樣編寫驗證程序?

我的錯。 我必須提供完整的合格類名,然后它可以正常工作。

/**
 * testattribute
 *
 * @var string
 * @validate NotEmpty, \My\Extension\Validation\Validator\MyownValidator
 */
protected $testattribute = '';

至少在前端它顯示驗證錯誤。 是否也可以在TCA中使用它?

暫無
暫無

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

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