我有一个包含其他字段的电子邮件的模型。
我希望在Yii CGridView
的高级搜索中使用自定义过滤器,在应用时,仅列出无效的电子邮件ID(使用正则表达式'^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$'
)
注意:我不想在CGridView中添加任何列
答案 0 :(得分:0)
我希望能帮到你,
你需要几件事
在您选择的列中进行过滤的行...(我建议您为此创建一个新属性,如果您想了解更多原因,请在评论中询问我。)这当然是在cgridview中:
'filter'=> CHtml :: activeCheckBox($ model,$ attributeEmail)
搜索带来模型的函数的条件。
假设您的模型中有一个搜索条件,可以帮助您过滤所需的内容......
if($this->EMAIL == TRUE)
{
$criteria->addCondition("\"t\".\"EMAIL\" email NOT LIKE '%_@__%.__%'");
}
为什么不使用正则表达式并采用KISS方法?最好先阅读一下......
Sql script to find invalid email addresses
我很高兴听到你的评论对于yii dev的btw来说是个有趣的问题