silverstripe自定义表单字段错误消息

时间:2013-12-30 02:32:09

标签: silverstripe

在我的表格处理功能中,我有:

$form->addErrorMessage('Email', 'Your email address is already registered in our system','bad');

并在我的模板中:

$Fields.FieldByName(Email)

我可以看到已将坏类添加到输入中,但如何显示内联错误消息?

2 个答案:

答案 0 :(得分:1)

我不确定这是否是您要找的,但我这样做:

public function MyFormAction(){
    //do something
    if(//something is wrong){
        $this->MyErrorMessage = 'Something is wrong';
        return $this->renderWith(array('MyFormPage', 'Page'));
    }
}

然后在模板中我可以放在我想要的地方:

<% if $MyErrorMessage %>
<p class='bad'>$MyErrorMessage</p>
<% end_if %>

答案 1 :(得分:1)

您只需在$ form-&gt; addErrorMessage('电子邮件','您的电子邮件地址已在我们的系统中注册','错')中添加以下内容;

return $this->redirectBack();

我在所有表格上都使用这个。务必在提交功能中使用它。您将被重定向到您的表单,并在电子邮件字段下方显示错误消息。您不需要为此创建自定义模板。