Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在YII中的CGridView中创建自定义高级搜索筛选器_Yii_Cgridview - Fatal编程技术网

在YII中的CGridView中创建自定义高级搜索筛选器

在YII中的CGridView中创建自定义高级搜索筛选器,yii,cgridview,Yii,Cgridview,我有一个模型,其中包含一些其他领域的电子邮件。 我希望在Yii CGridView的高级搜索中使用一个自定义筛选器,当应用该筛选器时,使用正则表达式“^[a-Z0-9.\U%-]+@[a-Z0-9.-]+\[a-Z]{2,4}$”只列出无效的电子邮件ID 注意:我不想在CGridView中添加任何列,我希望能帮助您 你需要几样东西 您选择的列中的筛选行…我建议您为此创建一个新属性,如果您想知道更多原因,请在评论中询问我。这当然会出现在cgridview中: 'filter'=>CHtml::ac

我有一个模型,其中包含一些其他领域的电子邮件。 我希望在Yii CGridView的高级搜索中使用一个自定义筛选器,当应用该筛选器时,使用正则表达式“^[a-Z0-9.\U%-]+@[a-Z0-9.-]+\[a-Z]{2,4}$”只列出无效的电子邮件ID


注意:我不想在CGridView中添加任何列,我希望能帮助您

你需要几样东西

您选择的列中的筛选行…我建议您为此创建一个新属性,如果您想知道更多原因,请在评论中询问我。这当然会出现在cgridview中:

'filter'=>CHtml::activeCheckBox$model,$attributeEmail

搜索函数时出现模型的条件

假设你在模型中的搜索中有一个标准,它可以帮助你过滤你需要的是

if($this->EMAIL == TRUE)
{
    $criteria->addCondition("\"t\".\"EMAIL\" email NOT LIKE '%_@__%.__%'");
}
为什么不使用正则表达式并进行接吻呢?最好先读一下


我很高兴听到你的评论,这是一个有趣的问题,yii-dev的顺便说一句

这不是有效电子邮件地址的正则表达式;那个看起来更像是什么?:[a-z0-9 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5[a-z0-9]?:[a-z0-9-]*[a-z0-9]?\[?:?:25[0-5]| 2[0-4][0-9]|[01]|[0-9][0-9]| 25[0-5]| 2[0-4][0-9]|[01]|[a-z0 9-*[a-z0 9]:?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]\\[\x01-\x09\x0b\x0c\x0e-\x7f]+\];但实际上是这样。谢谢你的纠正,但你能告诉我我真正问题的答案吗对不起,我不是Yii专家,只是想指出电子邮件地址通常不是大写字母数字。。。;如果我有答案,我会写一个。然而,你的问题写得并不好。也许可以添加您已经尝试过的内容,为什么官方文档让您失败,等等。