微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cakephp – 在Model上使用HtmlHelper在返回的错误中插入链接

我正在使用Cake PHP并尝试了解使我的应用程序保持一致和合理的最佳方法.

现在我正在尝试使用模型数据验证并在视图中处理验证错误,我怀疑如果我想在返回的错误中插入一些链接,我应该怎么做,例如忘记密码.

使用(如果可能的话)HtmlHelper在模型中返回应用程序内的一致链接,或者我应该考虑另一种方式?

<?PHP
App::import('Helper','Html');
class User extends AppModel {
    var $name = 'User';
    var $validate = array (
        'email' => array (
            'checkEmail' => array (
                'rule' => array('email',true),'message' => 'Email not valid message.'
            ),'checkUnique' => array (
                'rule' => 'isUnique','message' => 'This email is allready in the db,if you forgot the password,'.(string)$this->Html->link('click here',array('controller' => 'users','action' => 'password-recover')).'.'   
            )
    )
    // the rest of the code...

这不起作用,因为我似乎无法用HTML字符串链接消息字符串.
是否存在最聪明的方法,或者我应该简单地插入没有HtmlHelper的html字符串?

解决方法

如果你真的想在你的验证消息中使用HTML,CakePHP提供了一种方法来实现这一点,没有破坏Cake,没有编写大量代码.

在您的$validation中,只需使用您希望向用户呈现的任何HTML.

在您的视图中,当您创建FormHelper::input($fieldName,array $options)时,将以下数组传递给$options:

$options = array('error' => array(
              'attributes' => array('escape' => false)
               ))

See this page了解更多关于$options [‘error’] …选项的信息.

或者,如果您希望所有输入都没有HTML转义,则可以在创建表单时传递$options['inputDefaults'].

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐