簡介:這是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