我有一个带有以下注释的实体
@Assert\Callback(methods={"checkValidity"})
该方法在一个条件下会增加一个错误:
public function checkValidity(ExecutionContextInterface $context)
{
if ($this->getAmount() < $this->getMinimumAmount()) {
$context->buildViolation('app.forms.transfer.errors.amountLowerThanMinimum')
->atPath('amount')
->setParameter('%minimumAmount%', $this->getMinimumAmount())
->addViolation();
}
}
为了使其有效,我必须将这些行放在validator.en.yml
中# line: foo
app:
forms:
transfer:
errors:
balanceTooLow: Your balance is too low to transfer %amount% to %application%
amountLowerThanMinimum: The application %application% required that you transfer a minimum of $%minimumAmount%
它完美无缺,但如果我删除了第一个虚拟线
# line: foo
它不再翻译我的错误。
在整整一个小时内寻找解释后,我仍然不明白什么可以解释这种奇怪的行为。有什么想法吗?