zoukankan      html  css  js  c++  java
  • yii2中的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'],
    ];
    }
    
    /**
    * 自定义验证B
    */
    public function requiredByASpecial($attribute, $params)
    {
    if ($this->A== 1) 
    {
    if ($this->B=== '')
    $this->addError($attribute, "B的值不可以为空.");
    }
    }
    

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

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

    以上所述是小编给大家介绍的yii2 rules 验证规则的全部内容,希望对大家有所帮助!

  • 相关阅读:
    (网页)中的简单的遮罩层
    (后端)shiro:Wildcard string cannot be null or empty. Make sure permission strings are properly formatted.
    (网页)jQuery的时间datetime控件在AngularJs中使用实例
    Maven Myeclipse 搭建项目
    MyBatis 环境搭建 (一)
    java 常用方法
    XML 基础
    JS BOM
    js 事件
    js 的使用原则
  • 原文地址:https://www.cnblogs.com/lucky-man/p/8409599.html
Copyright © 2011-2022 走看看