正则表达式接受所有字段在yii模式验证规则中接受一些html标记

时间:2016-10-07 10:15:17

标签: html validation yii

我正在使用yii验证规则从输入字段中删除所有特殊字符。

但是我想在输入字段中添加一些用户添加的html标签。

所以我使用以下代码......

array('product_name, product_description', 'match', 'pattern'=>"/^['<br/> \"0-9a-zA-Z_-\s]*$/i")

在上面的代码中,我刚刚添加了<br/> html标记,以便在验证规则中使用它。

但是yii模式不允许我在输入字段中输入它。

我可能做错了什么。

那么我如何允许一些html标签允许用户添加输入字段。

1 个答案:

答案 0 :(得分:1)

匹配验证器只检查您的字段是否与模式匹配。

为了您的目标,您应该编写自定义验证器或验证规则。 在它最简单的形式它看起来像(yii2版本示例,但它使用本机PHP函数,因此它可以移动到版本1):

public function rules()
{
    return [
        [['product_name', 'product_description'], function($value) {
            return strip_tags($value, '<br>');
        }],

    ];
}

要阐明如何指定允许的标签,请查看strip_tags

的手册

为了阐明如何为yii1.1编写自定义验证规则,请同时检查documentation