php中如何使用filter_var实现参数验证
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关php中如何使用filter_var实现参数验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先看看代码:
千家信息网最后更新 2025年02月01日php中如何使用filter_var实现参数验证
这篇文章给大家分享的是有关php中如何使用filter_var实现参数验证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
先看看代码:
array( * "required" => 1, * "filter" => FILTER_VALIDATE_INT, * "options" => array( * "default" =>1, * "min_range" =>1, * ) * ) * ) */public static function filter_param($paramArr, $filterArr){ $res = filter_var_array($paramArr, $filterArr); //参数不合法-flase, 没传参数-null foreach($res as $key=>$val){ //如果有验证失败的,抛出异常。 if(false === $val){ throw new Exception( "Utils::filter_param: failed, key=$key "); } //再判断未传的参数。 if( is_null($val)){ //1.如果是必填项 if($filterArr[$key]['required'] ){ if(isset($filterArr[$key]['options']['default'])){ //1.1如果有default值,则设置为default值。 $res[$key] = $filterArr[$key]['options']['default']; }else{ //1.2如果没有default值,抛出异常。 throw new Exception( "Utils::filter_param: Do not have required param, key=$key" ); } }else{ //$res[$key]=''; //这里是默认把null值改为空值。是否有必要? } } } return $res;}}; //每个model里,都写个checkParam函数,用来配置验证的规则。 function checkParam($arrInput){ //1.先检查catId $filter = array( //数字类型的,必填。只允许 0-1。 "catId" => array( "required"=>1, "filter"=>FILTER_VALIDATE_INT, "options"=>array( "min_range" =>0, "max_range" =>1, ) ), //字符串类型的,必填。长度大于1。 "title" => array( "required"=>1, "filter"=>FILTER_VALIDATE_REGEXP, "options"=>array( "regexp" =>"/^.+/", ) ), //字符串类型的,非必填。但要是填了的话,则格式必须为email。 "email" => array( "filter"=>FILTER_VALIDATE_EMAIL, ), ); $_res = Utils::filter_param($arrInput, $filter) ; } //比如这个是输入的参数。可以试着修改这里看看效果。 $arrInput=array( 'catId'=>1, 'title'=>'xx', 'email'=>'xxxxxx.com', ); try{ $res=checkParam($arrInput); echo "验证通过,继续其它代码...\n"; }catch(Exception $e){ echo 'Caught exception: ', $e->getMessage(), "\n"; }?>
上面的代码,可直接运行。
使用方法:
建议把filter_param放到公共函数库中。
建议在每个model里都有个checkParam函数,专门配置验证规则。
感谢各位的阅读!关于"php中如何使用filter_var实现参数验证"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
参数
验证
代码
函数
类型
内容
字符
字符串
建议
更多
篇文章
规则
配置
不错
实用
必要
使用方法
效果
数字
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
移动操作系统是服务器操作系统吗
网络技术不成熟英文
建立数据库的目的时应该
互联网电视黑科技解毒
怎么进入服务器管理后台
青岛跨境互联网科技有限公司
服务器端口对应哪个服务
网络安全管理员等级证
分区数据库无法启动不了
服务器网页面板制作
清除idea缓存服务器
数据库处理失败错误3634
保护网络安全例文
崇明区数据链网络技术内容
奉贤区国际网络技术服务常见问题
当今网络技术对个人的影响
无线网络技术课后题答案
通州区网络软件开发
常见中文检索数据库系统
服务器主板声卡
专利提案网络技术
贵州it软件开发中心
软件开发数据库锁
软件开发子程序
3d云服务器系统视频教程
60斯坦索姆数据库
人工智能编程软件开发工程师
网络安全大赛中有人叫韩商言吗
服务器文件管理办法
问题安全气囊召回数据库