资讯专栏INFORMATION COLUMN

前端与后端TP的数据校验

Scliang / 843人阅读

摘要:前后端数据验证的区别前端数据验证一般指的是表单验证为了提升用户体验,减少与后端的交互但容易被他人修改或删除,甚至用其他抓包软件跳过验证直接向后端发送数据,安全性低。

前后端数据验证的区别

前端数据验证(一般指的是表单验证):为了提升用户体验,减少与后端的交互;但容易被他人修改或删除,甚至用其他抓包软件跳过验证直接向后端发送数据,安全性低

后端数据验证:为了保证数据的正确性,不容易被他人修改,安全性高,所以即使没有前端验证,也必须要有后端验证。(必须的)

前端验证

自己通过JS手动实现

使用jquery validate插件,详情可以参考
http://www.51xuediannao.com/j...

TP的后端数据验证——自动验证

TP已经实现了对请求数据进行验证的功能,自动验证是TP模型层提供的一种数据验证方法

自动验证的使用

   1、在模型层中定义验证规则
      protected $_validate = array(
        array("username", "require", "用户名不能为空"),
        array("username", "/^w{4,12}$/", "用户名或密码错误", self::EXISTS_VALIDATE, "regex"),
        array("password", "require", "密码不能为空"),
        array("password", "/^[a-zA-Z0-9]{6,18}$/", "用户名或密码错误", self::EXISTS_VALIDATE, "regex"),
        array("repassword", "password", "用户名或密码错误", self::EXISTS_VALIDATE, "confirm"),
        array("email", "email", "Email格式不正确!"),
        array("hobby", "1,2,3", "请选择一项爱好!",self::EXISTS_VALIDATE, "in"),
      );
      
   2、使用create()方法创建数据对象,使用这个数据对象与数据库通讯
      $postData = $this->create($postData);
      //如果$postData为false,说明验证不通过,请调用$this->getError()获取错误信息
      //如果验证通过,$postData就是一个原本的数组
PHP中复选框、单选框、下拉列表的注意事项

复选框

checkbox选中了的才会有值;未选中的则没有值(根本请求不会发出checkbox的name)

   
   
   
   

全选:

   $_POST["chk"]为array(0=>"0",1=>"1",2=>"2",3=>"3");

只选择value=1和3的

   $_POST["chk"]为array(1=>"1",3=>"3");

注意:在给checkBox命名时,必须要加"[]" ,但是在接收时不能加"[]" 才能得到值!

单选框
radio选中了的才会有值;未选中的则没有值(根本请求不会发出radio的name)

   类型1
   类型2
   类型3
   类型4
   类型5

注意:每个radio的name值必须相同,获取时$_POST["catetype"]

下拉列表

   
   
注意:第一个“请选择”的value一定要写,否则默认值就是"--请选择--"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/81153.html

相关文章

  • 前端后端TP数据校验

    摘要:前后端数据验证的区别前端数据验证一般指的是表单验证为了提升用户体验,减少与后端的交互但容易被他人修改或删除,甚至用其他抓包软件跳过验证直接向后端发送数据,安全性低。 前后端数据验证的区别 前端数据验证(一般指的是表单验证):为了提升用户体验,减少与后端的交互;但容易被他人修改或删除,甚至用其他抓包软件跳过验证直接向后端发送数据,安全性低。 后端数据验证:为了保证数据的正确性,不容易被...

    LeoHsiun 评论0 收藏0
  • 使用 mock.js 让前端开发后端独立

    摘要:基于数据模板生成数据。本文仅演示使用进行模拟并拦截请求。想了解更多命令,可以查看官网以上仅仅是抛砖引玉。为了系统管理和使用更方便,大家可以了解一下阿里。我们的口号提高效率,回家吃晚饭官方地址 Mock.js实现的功能。 基于数据模板生成数据。 基于HTML模板生成数据。 拦截并模拟Ajax请求。 本文仅演示使用mock.js进行模拟并拦截Ajax请求。 首先页面中先引用: 定义...

    liukai90 评论0 收藏0
  • 使用 mock.js 让前端开发后端独立

    摘要:基于数据模板生成数据。本文仅演示使用进行模拟并拦截请求。想了解更多命令,可以查看官网以上仅仅是抛砖引玉。为了系统管理和使用更方便,大家可以了解一下阿里。我们的口号提高效率,回家吃晚饭官方地址 Mock.js实现的功能。 基于数据模板生成数据。 基于HTML模板生成数据。 拦截并模拟Ajax请求。 本文仅演示使用mock.js进行模拟并拦截Ajax请求。 首先页面中先引用: 定义...

    MkkHou 评论0 收藏0
  • 前端如何高效后端协作开发

    摘要:移动端应用一般都运行在微信浏览器中中手机浏览器中。因为微信浏览器是定制的浏览器,一般的远程调试方式都不可用,需要配合特定的工具,如微信开发者工具。 前端如何高效的与后端协作开发 1. 前后端分离 前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。 可以参考:前后端分离、web与static服务器分离 2. 尽量避免后端模板...

    rozbo 评论0 收藏0
  • 前端如何高效后端协作开发

    摘要:移动端应用一般都运行在微信浏览器中中手机浏览器中。因为微信浏览器是定制的浏览器,一般的远程调试方式都不可用,需要配合特定的工具,如微信开发者工具。 前端如何高效的与后端协作开发 1. 前后端分离 前端与后端的分离,能使前端的开发脱离后端的开发模式,拥有更大的自由度,以此便可做前端工程化、组件化、单页面应用等。 可以参考:前后端分离、web与static服务器分离 2. 尽量避免后端模板...

    learning 评论0 收藏0

发表评论

0条评论

Scliang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<