PHP Form表单验证:PHP form validator使用说明

  在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
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
<?php
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
"<p>$inpname : $inp_err</p>\n";
        }
    }
}
 
if(true
==
$show_form)
{
?>
<form name='test' method='POST' action='' accept-charset='UTF-8'>
Name: <input type='text' name='Name' size='20'>
Email: <input type='text' name='Email' size='20'>
<input type='submit' name='Submit' value='Submit'>
</form>
<?php
}//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
<?php
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版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。

时间: 2024-11-03 23:06:58

PHP Form表单验证:PHP form validator使用说明的相关文章

JS组件Form表单验证神器BootstrapValidator_javascript技巧

本文为大家分享了JS组件Form表单验证神器BootstrapValidator,供大家参考,具体内容如下 1.初级用法来看bootstrapvalidator的描述:A jQuery form validator for Bootstrap 3.从描述中我们就可以知道它至少需要jQuery.bootstrap的支持.我们首先引入需要的js组件: <script src="~/Scripts/jquery-1.10.2.js"></script> <scr

基于BootstrapValidator的Form表单验证(24)_javascript技巧

Form表单进行数据验证是十分必要的,我们可以自己写JS脚本或者使用JQuery Validate 插件来实现.对于Bootstrap而言,利用BootstrapValidator来做Form表单验证是个相当不错的选择,两者完全兼容,我们也不用去关注CSS样式等美工效果. 0x01 引入BootstrapValidator 官网:BootstrapValidator,作为一个纯粹的使用者,我们可以在上面的链接处下载相关文件并引入,也可以利用CDN方式引入: <link href="//cd

js-为什么这个form表单验证不成功?

问题描述 为什么这个form表单验证不成功? function checkDelForm() { var uids = -1; uids = document.getElementsByName(""delUids"").length; if (uids == -1) { alert(""请选择要删除的用户""); return false; } else { return true; } } <form name=&q

基于Bootstrap+jQuery.validate实现Form表单验证_jquery

基于Bootstrap jQuery.validate Form表单验证实践项目结构 : github 上源码地址:https://github.com/starzou/front-end-example 1.form 表单代码[html] 复制代码 代码如下: <!DOCTYPE html>  <html>      <head>          <title>Bootstrap Form Template</title>         

thinkphp form表单验证失败了为啥还会提交

问题描述 thinkphp form表单验证失败了为啥还会提交 无标题 用户名: 密码: 验证码: 登陆 </form> function sub(){ var u=document.frm.user_name.value; var p=document.frm.pwd.value; var c=document.frm.code.value; var f=document.frm; if(u=='' || p=='' || c==''){ alert('用户名,密码,验证码不能为空'); }

详解ASP.NET MVC Form表单验证_实用技巧

一.前言 关于表单验证,已经有不少的文章,相信Web开发人员也都基本写过,最近在一个个人项目中刚好用到,在这里与大家分享一下.本来想从用户注册开始写起,但发现东西比较多,涉及到界面.前端验证.前端加密.后台解密.用户密码Hash.权限验证等等,文章写起来可能会很长,所以这里主要介绍的是登录验证和权限控制部分,有兴趣的朋友欢迎一起交流. 一般验证方式有Windows验证和表单验证,web项目用得更多的是表单验证.原理很简单,简单地说就是利用浏览器的cookie,将验证令牌存储在客户端浏览器上,co

jQuery form 表单验证插件(fieldValue)校验表单_jquery

jQuery form表单验证相关知识,在做项目中经常会用到,其实也不算复杂,下面通过一段代码给大家介绍jQuery form 表单验证插件(fieldValue)校验表单的相关知识,感兴趣的朋友一起学习吧 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>jQuery form插件的使用--使用 fieldValue

.net windows的AD验证 + form表单验证

问题描述 公司目前项目要求使用windows域账号进行自动验证,另外要求没有在域的电脑可以在form表单验证.我目前的想法是IIS设置成form验证,form的验证页面设置成windows验证方式,这样一来无论访问什么页面都会先跳到windows验证页面来自动验证,自动验证完了再生成一个form验证的凭据.但是我在iis上设置完了,不知道为什么并没有用.求助大神!!SOS!!SOS!!SOS!! 解决方案 解决方案二:围观,周哥尽快解决解决方案三: 解决方案四:继续顶贴,有人吗...解决方案五:

Python中使用django form表单验证的方法

一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Form</title> </head> <body> <div> <for