在我ContentsTable,我添加了这样的应用程序规则,并确保至少一个ImageEntity添加到ContentEntity保存时:如何让RulesChecker向关联的模型添加错误?
public function buildRules(RulesChecker $rules) {
$rules
->add(function($entity, $options) {
return $entity->get('type') !== 'gallery' || count($entity->images) > 0;
}, 'validDate', [
'errorField' => 'images.0.image',
'message' => 'Lade mindestens ein Bild hoch!'
]);
return $rules;
}
规则是应用,因为save()
失败了,但我本来期望对这种形式的输入出现在Contents/edit.ctp
定义的错误消息:
<?php echo $this->Form->input('images.0.image', [
'label' => 'Neues Bild (optional)',
'type' => 'file',
'required' => false
]); ?>
据,但是,不是在所有加入。
如何设置errorField
选项将错误添加到此字段?
忽视你的形象是可选的和强制性的同时,你有没有加入这一领域的独特验证?那么规则消息将不会显示。 –
不,我对ImageTable本身没有验证。图像输入是可选的,因为它们有多个(image.0.image,image.1.image,images.2.image等)。它们都不是必需的,但我仍然需要检查以确保至少有一个保存图像。 –