zoukankan      html  css  js  c++  java
  • Kohana 的 Validate 校验数组

    简介:这是Kohana 的 Validate 校验数组的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=343574' scrolling='no'>

    由于校验类数组的这个类没有相关的文档,做个笔记,提防以后忘记

    class Controller_Test extends Controller_Smarty{

    public function action_index(){

    $_GET=array(

    'a'=>'aaaaa ',

    'b'=>' '

    );

    $validate = Validate::factory($_GET);

    //@todo 这里开始

    //通过标签赋值显示字段

    //参数:字段,显示名称

    $validate->label('a', 'A属性');

    $validate->label('b', 'b属性');

    //字段设置为true的时候为全部字段

    //通过回调函数验证字段合法性

    //参数:字段 ,回调函数,额外参数

    $callbacks=array(

    array($this, 'a'),

    );

    $validate->callbacks('a', $callbacks);

    $validate->callback('a', array($this, 'a1'),array('pas1','pas2')); // function a($validate,$field,$params)

    $validate->callback('b', array($this, 'b'),array('pas1')); // function a1($validate,$field,$params)

    $rule= array(

    'min_length' => array(4),

    'max_length' => array(32),

    'regex' => array('/^[-\pL\pN_.]++$/uD'),

    );

    //通过规则验证字段合法性

    //规则函数的参数通过数组列表形式传递

    //参数:字段,规则数组

    $validate->rules('a',$rule);//使用规则,规则消息在validate

    //通过规则验证

    //参数:字段,规则函数,参数

    $validate->rule(true,'not_empty',null);//过滤

    //过滤

    //参数:字段,静态方法或函数,额外参数

    $validate->filter(true, 'trim');//过滤

    //静态方法或函数: static function fa($value,$params) 指定字段值等于返回值

    $validate->filter('a', get_class($this).'::fa',array('filterparams'));

    if($validate->check()){

    print_r($validate['a']);

    print_r($validate['b']);

    }else{

    //获取错误

    //参数:消息文件名,是否翻译

    $msg=$validate->errors('a');

    print_r($msg);

    $this->end();

    }

    }

    public function a1($vaildate,$filed,$par){

    //错误添加

    //参数:字段,消息文件中的字段,传入到消息文件的一维数组

    $vaildate->error('a', 'invalid',$par);//

    }

    public function a($vaildate,$filed,$par){

    }

    public function b($vaildate,$filed,$par){

    }

    public static function fa($value,$params){

    return '000000000';

    }

    }

    在ORM中调用校验配置以下数组,最后调用check方法

    protected $_rules = array();

    protected $_callbacks = array();

    protected $_filters = array();

    protected $_labels = array();

    检测失败在属性: validate 中可以得到校验对象

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/343574.html pageNo:5
  • 相关阅读:
    To select the file to upload we can use the standard HTML input control of type
    Cascading Menu Script using Javascript Explained
    网站首页head区代码规范
    轻松掌握 Java 泛型
    JDK 5.0 中的泛型类型学习
    如何在firefox下获取下列框选中option的text
    是同步方法还是 synchronized 代码? 详解多线程同步规则
    javascript select option对象总结
    Select的动态取值(Text,value),添加,删除。兼容IE,FireFox
    javascript在ie和firefox下的一些差异
  • 原文地址:https://www.cnblogs.com/ooooo/p/2241987.html
Copyright © 2011-2022 走看看