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,一经查实,立即删除!

相关文章

[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 /…

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

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

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

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

《迷宫》之站立会议—5.15

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

C#中使用post请求方法请求表单-用于两个网站的交互

网站A中的后台代码&#xff1a; 1 //请求的URL2 HttpWebRequest request WebRequest.Create("http://192.168.1.132:86/test01.aspx") as HttpWebRequest;3 request.Method "po…

Samba服务器(一):windows访问samba服务器共享文件的简单实现(图文并茂)

From:http://linux.chinaunix.net/techdoc/beginner/2009/07/09/1122864.shtml 一、linux的文件共享&#xff08;当然也包括和windows进行文件共享&#xff09;一般有NFS, FTP, SSH SAMB等&#xff0c;但是以samba最为普遍和流行。下面就对samba服务器做个全面的介绍和讲解&…

python 3.9特性,开发者应该知道的Python 3.9新特性

导读&#xff1a;Python 3.9来了&#xff0c;有哪些新特性值得学&#xff0c;值得用&#xff1f;Python 2.9(5.10.2020)已经发布了一段时间&#xff0c;最后一个Alpha版(3.9.0a5)近期发布了测试版。开发者应该看新版有哪些新功能&#xff0c;改进和修复。安装测试版本节尝鲜安装…

python一维数组定义,python一维数组保存

python中向一维数组添加元素的方法例如爬虫爬取到的数据只有[b11dab7a2f48d131fc9c26678636294381aedd41&#xff0c;供参考&#xff1a; old_array [b11dab7a2f48d131fc9c26678636294381aedd41, 5183353435e0a7b1681010bd71d3d7791492685e]new_array [magnet:?xturn:btih: …

mount NTFS FOR RHEL5

2019独角兽企业重金招聘Python工程师标准>>> USB的支持关键在于驱动&#xff0c;没有驱动设备时mount执行是肯定不成的。 1. 先别插U盘&#xff0c;/sbin/lsmod看是否有usb-storage。如果没有的话&#xff1a; cd /lib/modules/2.4.20-8/kernel/drivers/usb for v i…

[C1] 优化 C1FlexGrid 单元格边框

一 优化理由 如下图所示&#xff0c;如果按照 C1FlexGrid 自带的单元格边框设置&#xff0c;即对每个单元格的 CellStyle 的 BorderThickness 进行设置&#xff0c;会得到如下图的效果&#xff1a; 其中&#xff0c;明显可以看到如果两个相邻的单元格同时设置了那条相邻的边&a…

Source Insight经典教程

From: http://blog.21ic.com/user1/4251/archives/2008/53650.html Source Insight实质上是一个支持多种开发语言&#xff08;java,c ,c 等等&#xff09;的编辑器&#xff0c;只不过由于其查找、定位、彩色显示等功能的强大&#xff0c;常被我们当成源代码阅读工具使用。 作…

ThinkPHP整合百度Ueditor图文教程

ThinkPHP整合百度Ueditor图文教程 ThinkPHP整合百度Ueditor&#xff0c;基于黄永成老师的视频说明的申明&#xff1a;最好大家都能写绝对路径的都写好绝对路径比如&#xff1a;window.UEDITOR_HOME_URL 他在教程里面已经说了的&#xff0c;我就不再次说了啊&#xff0c;就一笔…

树莓派Raspberry 操作GPIO--LED

一、 安装 wiringPi &#xff1a; sudo apt-get install wiringPi 二、查看安装版本 三、查看端口 四、创建源文件 touch myled.c 五、编写源代码 vi myled.c 使用cat myled.c 查看 六、编译和链接wiringPi库 七、运行