有没有办法在我的模型代码中为我的消息设置布局?
这是我的模特:
var $validate = array(
'email' => array(
'rule' => array('email', true),
'message' => 'Please supply a valid email address.'
)
);
答案 0 :(得分:2)
这可以通过CakePHP完成。但是,您的担忧混乱了。该模型用于数据收集,操作和按摩。数据的布局由View负责。在CakePHP中特别是Form Helper。
有关如何为数据验证消息指定自己的布局的详细信息,请查看:
http://book.cakephp.org/view/1639/options-inputDefaults
他们提供了一个非常好的代码示例,详细说明了如何执行此操作。
我高度建议您仔细阅读整本书。它将证明是无价的。
编辑:在评论澄清之后回答
您可以创建element
并将其放入app/views/elements
。应该使用普通的Cake约定命名文件。我们选择flash_error
。
您可以将其设置为您想要显示的HTML。要确保显示您的消息,只需在适当的地方添加这个PHP位
<?php echo $message; ?>
这是第1步。
第2步是在$this->setFlash()
调用中传递适当的参数。所以你的新调用看起来像我们上面命名的元素:
$this->setFlash($message, 'flash_error');
现在你的setFlash消息将使用步骤1中定义的布局。想要不同的布局吗?只需创建一个新元素并传递新元素名称即可。
setFlash()方法还有2个参数派上用场(特别是如果你想在同一页面上有多个flash()消息)。这本书的另一个链接: