ci-valdation&&jqury-valdation.txt 返回列表
/**
* 可以放入helper form中,方便调用,
* ãͬĹڿͻ˺ͷ˶д
* create js validation rules and message
* must ci rules array;
* 此中调用了语言文件
*/
if ( ! function_exists('rules_ci2js')){
function rules_ci2js($rules){
$CI =& get_instance();
$i=0;
$form_tmp=array();
foreach($rules as $field=>$r){
$_arr=explode("|",$r);
$__arr=array();
$__arr_message=array();
foreach($_arr as $v){
if(ereg("([minax]{3})_length\[([0-9]+)\]",$v,$tmp)){
$__arr[]="{$tmp[1]}length:{$tmp[2]}";
$__arr_message["{$tmp[1]}length"]=$CI->lang->line('err_'.$tmp[1].'length').$tmp[2];
}
if($v=="required"){
$__arr[]="{$v}:true";
$__arr_message["required"]=$CI->lang->line('err_required');
}
if($v=="numeric"){
$__arr[]="number:true";
$__arr_message["number"]=$CI->lang->line('err_number');
}
if($v=="integer"){
$__arr[]="digits:true";
$__arr_message["digits"]=$CI->lang->line('err_integer');
}
if($v=="valid_email"){
$__arr[]="email:true";
$__arr_message["email"]=$CI->lang->line('err_email');
}
if($v=="prep_url"){
$__arr[]="url:true";
$__arr_message["url"]=$CI->lang->line('err_url');
}
}
if($__arr){
$form_tmp['rules'][$i][$field]=$__arr;
$form_tmp['messages'][$i][$field]=$__arr_message;
}
}
if(!empty($form_tmp)){
$js_rules=json_encode($form_tmp['rules']);
$js_message=json_encode($form_tmp['messages']);
$js_rules=strtr($js_rules,array(
'":["'=>':{',
'"],"'=>'},',
'","'=>',',
'[{"'=>'{',
'"]}]'=>'}}',
));
$js_message=strtr($js_message,array(
'['=>'',
']'=>'',
'":{"'=>':{',
'":'=>':',
',"'=>',',
'{"'=>'{'
));
$jsform="rules:{$js_rules},\n messages:{$js_message}";
return $jsform;
}
}
}
调用方法:
$rules ['AppName'] = "trim|required|max_length[64]";
$rules ['GeoLon'] = "trim|required|numeric|max_length[64]";
$rules['GeoLat']='trim|required|numeric|max_length[64]';
$data['jsform']=ci_rules2js_rules($rules);
html端写入,需要jquery validate插件
$("#sight_form").validate({
<?php echo $jsform;?>,
debug: true ,
event: "blur",
submitHandler: function() {
document.getElementById("sight_form").submit();
}
});
Add New Content