php form validator 下单,PHP Form表单验证:PHP form validator使_php

在php网站开发建设中,用户注册、留言是必不可少的功能,用户提交的信息数据都是通过Form表单提交,为了保证数据的完整性、安全性,PHP Form表单验证是过滤数据的首要环节,PHP对表单提交数据的验证方式多种多样,早期一般使用JavaScript对PHP表单进行验证,随着web2.0时代的到来,考虑到用户体验,使用jquery Form表单验证插件是常用手法,今天我要介绍的是一个PHP表单验证类PHP form validator,其可应用于一般的PHP表单验证,也可以和第三方程序或javascript整合进行表单验证,更可以自定义具体的PHP表单验证规则,PHP form validator使用起来非常方便。

PHP form validator表单验证类使用说明

1、下载PHP form validator,并解压至PHP环境配置设定的网站运行目录

2、创建一个有待验证的Form表单,创建最常用的选项,比如用户名,Email,留言框等,具体的PHP表单验证实例源码如下

1

2

3

4

5

6

http://www.gaodaima.com/?p=49502PHP Form表单验证:PHP form validator使_php

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

require_once "formvalidator.php";

$show_form=true;

if(isset($_POST['Submit']))

{

$validator = new FormValidator();

$validator->addValidation("Name","req","请填写用户名");

$validator->addValidation("Email","email","请填写正确的Email地址");

$validator->addValidation("Email","req","请填写Email地址");

if($validator->ValidateForm())

{

echo "PHP表单验证成功,谢谢你对www.leapsoul.cn的支持";

$show_form=false;

}

else

{

echo "错误提示:";

$error_hash = $validator->GetErrors();

foreach($error_hash as $inpname => $inp_err)

{

echo "

$inpname : $inp_err

/n";

}

}

}

if(true == $show_form)

{

?>

Name:

Email:

}//true == $show_form

?>

PHP form validator表单验证源码实例解读

第1行:要启用PHP form validator表单验证类,首先第一步需要将formvalidator.php require进来。

第3行:$show_form是用来控制表单显示的开关,默认显示表单。

第6~9行:当提交需要验证处理的表单时,首先创建一个PHP表单验证类的实体,并添加表单中需要验证的选项,在代码实例中主要验证用户名(Name)和Email地址两个选项。

addValidation函数的三个参数特别说明:第一个参数代表需要验证的表单中的项目,即input name;第二个参数代表验证的规则描述,比如必填、字符长短等,各种验证规则下面会介绍;第三个参数代表当表单验证不通过时需要显示的错误信息。

第10~24行:通过PHP form validator表单验证类的ValidateForm()函数来判断表单是否通过验证,如果没有通过验证则显示错误信息,这段代码自由度很大,你可以根据需要修改,比如跳转到具体页面都是可以实现的。

至此,PHP form validator表单验证类最基础的使用方法就介绍完了,如果其定义的表单验证规则不符合你的需要,你可以自行定制具体的验证规则,方法如下

1、创建一个继承了自定义验证类CustomValidator的子类,比如MyValidator,并重写DoValidate()函数功能,即

1

2

3

4

5

6

7

8

9

10

11

12

13

14

class MyValidator extends CustomValidator

{

function DoValidate(&$formars,&$error_hash)

{

if(stristr($formars['Comments'],'http://'))

{

$error_hash['Comments']="留言内容不能有URL地址";

return false;

}

return true;

}

}

?>

在上述代码中自定义了一个表单验证规则,即留言内容中不能包含URL地址。

2、将自定义的表单验证规则添加到已有的表单验证规则中,即

1

2

3

4

5

6

7

$validator = new FormValidator();

$validator->addValidation("Name","req","请填写用户名");

$validator->addValidation("Email","email","请填写正确的Email地址");

$validator->addValidation("Email","req","请填写Email地址");

$custom_validator = new MyValidator();

$validator->AddCustomValidator($custom_validator);

自定义的表单验证规则在其他表单验证结束后会自动调用。

至此,PHP form validator表单验证类的自定义验证规则的使用方法就介绍完了,除此之外PHP form validator表单验证类还可以结合Javascript或第三方js、PHP类库进行表单验证,扩展性非常强,更多PHP form validator表单验证实例请参考下载文件中的示例代码。下面介绍PHP form validator表单验证类的默认验证规则

PHP form validator表单验证类的验证规则说明

req 必填

maxlen=??? 检查输入数据的最大长度为多少,比如允许最大长度为25,则给出maxlen=25的验证描述

minlen=??? 检查输入数据的最小长度为多少,比如允许最小长度为5

alnum 只允许字母和数字

alnum_s 只允许字母、数字及空格

num 检查数字数据

alpha 检查字母数据

alpha_s 允许字母和空格

email 有效的Email地址

lt=???

lessthan=??? 验证数据是否小于给定的值,只适用于数字字段,比如,如果值小于1000,即lt=1000

gt=???

greaterthan=??? 验证数据是否大于给定的值,只适用于数字字段,比如,如果值大于10,即lt=10

regexp=??? 验证数据是否与给定的正则表达式匹配

dontselect=?? 验证是否选择了select选项,select选项列表中有一个选项是”请选择”。如果不能选择的选项是”请选择”,需要将dontselect值设定为”请选择”

dontselectchk 这个验证描述是针对check boxes(复选框),用户不能选择设定的复选框

shouldselchk 用户需选择设定的复选框

dontselectradio 这个验证描述是针对radio button(单选按钮),用户不能选择设定的单选按钮

selectradio 用户需选择给定的单选按钮

selmin=?? 复选框组中至少要选择多少个复选框,比如selmin=3

selone 用户至少需从单选按钮组中选择一项

eqelmnt=??? 比较Form表单中的两个元素并确认值是否相同,比如”密码”(password)和”确认密码”(confirm password),替代???的值以input element的name为准,比如eqelmnt=confirm_pwd

OK,PHP form validator表单验证类的验证规则说明就介绍完了,翻译得不好或理解有问题的不妨多动手或留言。

只要演示下PHP form validator表单验证类中的几个验证示例,你会发现其用户体验绝不比Jquery之类的表单验证插件差,而且自定义PHP表单验证也非常方便实用。

注:PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。

欢迎大家阅读《PHP Form表单验证:PHP form validator使_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

e7ce419cf2d6ad34d01da2ceb8829eed.png

微信 赏一包辣条吧~

023a57327877fb4402bcc76911ec18ea.png

支付宝 赏一听可乐吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云服务器,价格其实不便宜,但为什么还要用呢

2012年的时候,接触到云服务器,一心想搞个个人网站。当时,云服务器最低配置,1个月55元,1M带宽、1核CPU、512M内存,独立IP。加上,一些优惠,代金券之内的,1年400元左右。自认…

React开发(189):ant design textarea允许清除allowClear

<div style{{ margin: 10px 0 }}><span style{{ marginRight: 50px }}>调整原因</span><span><TextAreastyle{{ width: 55% }}placeholder"请输入调整原因"value{balancchangereason}formatter{(value) > &#xffe5; ${value}.repla…

DOS管道与重定向

From:http://hi.baidu.com/liouxueyun/blog/item/6951d9611ab9b76a0d33fa60.html 一、 重定向&#xff1a; 所谓重定向&#xff0c;就是不使用系统的标准输入端口、标准输出端口或标准错误端口&#xff0c;而进行重新的指定&#xff0c;所以重定向分为输出重定向、输入重定…

js 调用服务器端方法总结

javascript函数中执行C#代码中的函数&#xff1a; 方法一&#xff1a;1、首先建立一个按钮&#xff0c;在后台将调用或处理的内容写入button_click中; 2、在前台写一个js函数&#xff0c;内容为document.getElementById("btn1").click(); 3、在前台或…

[C语言 - 12] Union联合

union Student{int age;char *name;} stu;union只按照最长的数据成员分配控件&#xff0c;适用于有N个数据不会同时出现的情况&#xff0c;用以压缩空间。转载于:https://www.cnblogs.com/wvqusrtg/p/4501217.html

新闻数据采集php,PHP新闻采集在线源码

PHP新闻采集在线源码可以高效采集新闻网站内容&#xff0c;由于它是一种可以在服务器端执行的嵌入HTML文档的脚本语言&#xff0c;所以它支持在UNIX、LINUX、WINDOWS等系统下运行&#xff0c;而且消耗的系统资源很少。PHP新闻采集在线源码介绍全网采集采集任意互联网公开数据Aj…

[Objective-c 基础 - 1.3] OC带返回值的类方法

1 /*2 计算器类3 1>返回π4 2>计算两个整数的平方5 3>计算两个整数的和6 */7 8 9 #import <Foundation/Foundation.h> 10 11 interface Calculator: NSObject 12 //方法名:pi 13 - (double) pi; 14 15 //OC方法中&#xff0c;一个参数对应一个冒号: 16 /…

UCGUI的模拟器UCGUISim详解

From: http://www.cnblogs.com/shellstudio/articles/ucgui.html 本文转自www.ucgui.com感谢原作者(最近发现该网站已经撤销,不知道作者近况如何.想当初,他对我理解ucgui提供了很多支持和帮助呢!)。 联系方式: ucgui.comgmail.com 一、问题的由来-----模拟器完成了什么 在官方发…

php 最后几个字符,php怎么去掉最后三个字符

在php中&#xff0c;可以利用substr()函数来去掉字符串最后三个字符&#xff0c;该函数可以返回字符串的一部分&#xff1b;具体语法格式为“substr(指定字符串,0,-3)”。本教程操作环境&#xff1a;windows7系统、PHP7.1版&#xff0c;DELL G3电脑php去掉字符串最后三个字符he…

透过北京通信展看国产手机的崛起

透过北京通信展看国产手机的崛起<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />小刀马北京国际通信展已经落下了帷幕&#xff0c;多少繁花似锦都已归尘土&#xff0c;本届通信展到底给我们留下了什么印象什么回忆&#xff1f;大…

Spark(四) -- Spark工作机制

一、应用执行机制 一个应用的生命周期即&#xff0c;用户提交自定义的作业之后&#xff0c;Spark框架进行处理的一系列过程。 在这个过程中&#xff0c;不同的时间段里&#xff0c;应用会被拆分为不同的形态来执行。 1、应用执行过程中的基本组件和形态 Driver&#xff1a; 运…

Linux下查看文件和文件夹大小的df和du命令

From: http://www.yayu.org/look.php?id162 当磁盘大小超过标准时会有报警提示&#xff0c;这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点&#xff0c;但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配…

php打开就执行url,php执行URL解析

方法一&#xff1a;$url"http://www.baidu.com";file_get_contents($url);方法二&#xff1a;// CURL 方法$url"http://www.baidu.com";$ch curl_init( );curl_setopt( $ch,CURLOPT_URL,$url );curl_setopt( $ch,CURLOPT_HEADER,0 );curl_setopt( $ch,CUR…

java的classpath

转自&#xff1a;http://takkymj.javaeye.com/blog/734408 1、class搜索路径的重要性 理解class搜索路径对所有Java开发人员来说都很重要&#xff0c;但是&#xff0c;IDE的广泛使用掩盖了这项技术&#xff0c;使大家普遍对它缺乏了解&#xff0c;甚至包括好多老鸟。这个问题在…

深入react技术栈(12):组件内通信

我是歌谣 放弃很容易 但是坚持一定很酷 微信公众号关注前端小歌谣获取前后端知识 父组件向子组件传值 子组件向父组件传值 跨级组件通信 没有嵌套关系的组件通信 文章参考深入React技术栈

《迷宫》之站立会议—5.15

会议时间&#xff1a;7:10 内容&#xff1a; 还没怎么做&#xff0c;组长有些着急&#xff0c;表示快快做。 转载于:https://www.cnblogs.com/little-clever/p/4505113.html

Ubuntu出现没有正确安装GNOME电源管理器的默认配置

From: http://forum.ubuntu.org.cn/viewtopic.php?f139&t236972 Ubuntu启动的时候&#xff0c;在用户登录的界面&#xff0c;右上角出现“没有正确安装GNOME电源管理器的默认配置&#xff0c;请与计算机管理员联系”&#xff0c;如果是英文版&#xff0c;出现“GNOME Pow…

php青茶什么时候拆,青茶的香味应该如何评判(天赐露)

青茶的香味应该如何评判关注天赐露安溪铁观音。一站式采购青茶的香味评判 ---青茶是一个大茶类&#xff0c;商业上习惯称之为“乌龙茶”。其实&#xff0c;乌龙茶仅是青茶中的一个品种而已。青茶产于福建、广东和台湾三省&#xff0c;其他产茶省区几乎不生产&#xff0c;因此&a…

学习笔记----linux下编译samba

linux下编译samba一、samba的启动命令&#xff1a;#cd /usr/local/samba/sbin#smbd关闭samba可以杀死smbd进程二、samba 的配置文件和rpm的存放路径一样#vi /etc/samba/smb.conf三、samba的内部命令#cd /usr/local/samba/bin#smbpasswd u1...................四、编译samba的一…