zoukankan      html  css  js  c++  java
  • thinkphp自动验证详解

    自动验证时THINKPHP提供的一种比较好的验证方式,可以在使用create创建数据对象的时候自动进行数据验证。

    数据进行自动验证的方式有两种:

    1、静态方式:在模型类里面通过$_validate属性定义验证规则。
    2、动态方式:使用模型类的validate方法动态创建自动验证规则。

    无论怎样,配置都是这样的:

    array(
         array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]),
         array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]),
         ......);

    注意这里有五个选项:

    验证字段:就是需要进行验证的字段。

    验证规则:系统内置或自定义的规则。

    错误提示:验证出错的时候做的返回信息。

    验证条件:

    self::EXISTS_VALIDATE 或 0,表示存在字段就验证(默认) ;
    self::MUST_VALIDATE   或 1,表示必须验证;
    self::VALUE_VALIDATE  或 2,表示值不为空的时候验证。

    附加规则:添加附加的规则进行验证。

    验证时间:

    self::MODEL_INSERT 或 1 新增数据时验证;
    self::MODEL_UPDATE 或 2 编辑数据时验证;
    self::MODEL_BOTH   或 3 全部情况下验证(默认)

    具体示例:

    protected $_validate = array(
        array('title','require','标题不能为空!'),
        array('title','','标题已经存在!',0,'unique',1),
        array('name','english','标识不是纯英文'),
        array('name','require','标识不能为空!'),
        array('name','','标识已经存在!',0,'unique',1),
        array('config','require','配置值不能为空!'),
        array('config','','配置值已经存在!',0,'unique',1),
        array('sort','integer','不是整数'),
    );

    附加规则示例:

  • 相关阅读:
    NOIP2014飞扬的小鸟[DP][WRONG]
    POJ2184 Cow Exhibition[DP 状态负值]
    Quantum Bogo sort浅谈
    POJ3211 Washing Clothes[DP 分解 01背包可行性]
    VIJOS P1426兴奋剂检查[DP 状态哈希]
    VIJOS P1037搭建双塔[DP]
    NOIP2006金明的预算方案[DP 有依赖的背包问题]
    POJ1742 Coins[多重背包可行性]
    NOIP水题合集[3/未完待续]
    单调队列
  • 原文地址:https://www.cnblogs.com/e0yu/p/10100944.html
Copyright © 2011-2022 走看看