我有一个包含embededForms的表单。
后验证员:
$this->validatorSchema->setPostValidator(
new sfValidatorCallback(
array('callback' => array($this, 'myPostValidator'))
)
);
我在myPostValidator方法中抛出错误:
$error = new sfValidatorError($validator, 'invalid ' . $values['embededform1']['field']);
throw new sfValidatorErrorSchema($validator, array('field' => $error));
现在我收到了root-form的全局错误。
我想在正确的字段旁边显示错误。
$values['embededform1']['field']
答案 0 :(得分:1)
我的第一个建议是在嵌入表格中添加帖子验证器。嵌入它时会将验证器复制到容器表单中,抛出异常的代码应该按预期工作。
备选方案,您可以在容器表单的回调中尝试以下操作:
$error = new sfValidatorError($validator, 'invalid');
$errorschema = new sfValidatorErrorSchema($validator, array('field' => $error));
throw new sfValidatorErrorSchema($validator, array('embeddedformname' => $errorschema));
答案 1 :(得分:0)
$error = new sfValidatorError($validator, 'invalid');
$errorschema = new sfValidatorErrorSchema($validator, array('field' => $error));
throw new sfValidatorErrorSchema($validator, array('embeddedformname' => $errorschema));
这对我有用。