加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 17:38:53 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Cake PHP并尝试了解使我的应用程序保持一致和合理的最佳方法. 现在我正在尝试使用模型数据验证并在视图中处理验证错误,我怀疑如果我想在返回的错误中插入一些链接,我应该怎么做,例如忘记密码. 使用(如果可能的话)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'].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读