新しいモデル バリデータを追加すると、そのモデルの他のフィールドにアクセスできます
ファイル: test_extension/Classes/Domain/Validator/TestModelValidator.php:
class Tx_TestExtension_Domain_Validator_TestModelValidator extends Tx_Extbase_Validation_Validator_AbstractValidator {
/**
* @param Tx_TestExtension_Domain_Model_TestModel $testModel
* @return boolean
*/
public function isValid($testModel) {
/** @var $testModel Tx_TestExtension_Domain_Model_TestModel */
//Access all properties from $testModel
$field1 = $testModel->getMyField1();
$field2 = $testModel->getMyField2();
}
}
特定のフィールドにエラーを追加することもできますが、このコードは TYPO3 4.5 のものであり、まだ有効かどうかはわかりません:
$error = t3lib_div::makeInstance('Tx_Extbase_Validation_Error', 'The entered value is allready in use.', 1329936079);
$this->errors['field2'] = t3lib_div::makeInstance('Tx_Extbase_Validation_PropertyError', 'field2');
$this->errors['field2']->addErrors(array($error));