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','不是整数'),
    );

    附加规则示例:

  • 相关阅读:
    JS加载机制
    js原型和原型链(用代码理解代码)
    解决echarts图形由于label过长导致文字显示不全问题
    微信小程序setData()异常
    Add GNOME to a CentOS Minimal Install
    vim的tab缩进及用空格设置
    ORA-12547: TNS:lost contact
    python+Django实现Nagios自动化添加监控项目
    python <tab>自动补全
    电信服务规范
  • 原文地址:https://www.cnblogs.com/e0yu/p/10100944.html
Copyright © 2011-2022 走看看