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'].

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...