Smarty动态错误列表

时间:2012-10-11 21:34:23

标签: php smarty

我是Smarty的新手,结合PHP,我非常喜欢它。 不幸的是,在$ _POST完成后验证字段时遇到了问题。

我创建了一个名为$ errors的数组,并使用它来保存错误消息,例如:$ errors []。=“错误的电子邮件”;。 我的问题是将$ errors数组发送到模板,以便我可以使用它来显示错误消息。

我的问题:如何将$ errors变量“转移”到模板文件中,以便在那里使用它,例如{foreach}。我打算做一些像

这样的事情
{if $hasErrors} 
    {foreach from=errors item=error}
          <li>{$error}</li>
    {/foreach}
{/if}

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以将数组分配给模板,就像任何其他变量一样。

$smarty->assign('errors', $errors);

此外,在最初构建数组时,请删除连接运算符,然后使用:

$errors[] = 'Wrong email';

最后,确保在尝试向其添加元素或分配数组之前初始化数组。

$errors = array()

编辑:既然您已经包含了其他信息,我认为问题与您的Smarty标记语法有关。请尝试使用此行,为您的变量添加$

{foreach from=$errors item=error}