• 技术文章 >后端开发 >php教程

    yii2中自定义验证守则rules

    2016-06-13 12:29:21原创568
    yii2中自定义验证规则rules

    作者:白狼 出处:www.manks.top/article/yii2_custom_rules

    本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    yii2的一个强大之处之一就是他的Form组件,既方便又安全。有些小伙伴感觉用yii一段时间了,好嘛,除了比tp"难懂"好像啥都没有。

    领导安排搞一个注册的功能,这家伙刷刷刷的又是百度啥啥啥好的表单样式,又是百度啥啥啥validate验证,真替这家伙捏把汗。

    当然啦,废话说在前头,咱们的重点喃,是要利用ActiveForm,然后怎么去实现自定义验证规则。

    先来说说场景:

    条件:①、有两个字段分别是A和B ②、A有两个值分别是1和2

    需求是:当用户选择的A的值等于1的时候,B的值必须填写,当A的值等于2的时候,B的值不写也没关系。其中A必选。

    我们来看看用Yii2自带的rules怎么去实现

    首先在其关联model上加上下面这句规则

       /**     * @inheritdoc     */    public function rules()    {        return [            [['B'], 'requiredByASpecial'],        ];    }

    然后在该model里面去实现requiredByASpecial方法即可

       /**     *  自定义验证B     */    public function requiredByASpecial($attribute, $params)    {        if ($this->A== 1)         {            if ($this->B=== '')                $this->addError($attribute, "B的值不可以为空.");        }    }

    上面的意思就是说当A等于1且B的值为空时,返回错误信息"B的值不可以为空"。

    以上只是举了一个简单的例子,可以根据具体需求应用。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:php curl 范例+详解 下一篇:windows定时执行PHP的技能
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• windows下升级PHP到5.3.3的过程及注意事项_PHP• 关于PHP 七你必须知道的五件事• 为啥不能调用函数里面的变量 • 新手求ajax返回值的有关问题 • 【转】php函数摘引
    1/1

    PHP中文网