JS 验证之后,还需要通过PHP验证:

提交过来的名称不一样,可以用字段映射:

在自动验证的时候,如果这个字段被映射,那么自动验证的时候,自动验证的就是 映射过后的字段;

控制器示例

//注册表单处理
Public function register () {
if (!$this->isPost()) halt('页面不存在'); $db = D('User');
if (!$db->create()) {
$this->error($db->getError());
}
$username = $db->username;
if (!$uid = $db->add()) $this->error('注册失败,请重试...'); session('uid', $uid);
session('username', $username);
$this->success('注册成功,正在为您跳转...', __APP__);
}

自动验证模型示例

<?php
/**
* 用户表操作模型
*/
Class UserModel extends Model { //字段映射
Protected $_map = array(
'pwd' => 'password'
); //自动验证
Protected $_validate = array(
array('account', 'require', '帐号不能为空'),
array('account', '/^[a-zA-Z]\w{6,19}$/s', '帐号格式不正确', 1, 'regex'),
array('account', '', '帐号已存在', 1, 'unique'),
array('username', 'require', '用户名不能为空'),
array('username', '/^[\x80-\xff\w]{2,14}$/s', '用户名格式不正确', 1, 'regex'),
array('username', '', '用户名已存在', 1, 'unique'),
array('password', 'require', '密码不能空'),
array('password', '/^\w{6,20}$/s', '密码格式不正确'),
array('pwded', 'password', '两次密码不一致', 1, 'confirm')
); //自动完成
Protected $_auto = array(
array('password', 'md5', 1, 'function'),
array('logintime', 'time', 1, 'function'),
array('loginip', 'get_client_ip', 1, 'function'),
array('registime', 'time', 1, 'function')
);
}
?>

问答项目---用户注册的那些事儿(PHP验证)的更多相关文章

  1. 问答项目---用户注册的那些事儿(JS验证)

    做注册的时候,由于每一个页面都有都要可以注册,可以把注册方法写到一个公用的方法里去,其他方法继承这个方法: 简单注册JS示例: <script type='text/javascript'> ...

  2. SSM项目使用拦截器实现登录验证功能

    SSM项目使用拦截器实现登录验证功能 登录接口实现 public User queryUser(String UserName, String Password,HttpServletRequest ...

  3. 问答项目---登陆也要做验证!(JS和PHP验证)

    简单JS示例: var login = $( 'form[name=login]' ); login.submit( function () { if (validate.loginAccount & ...

  4. 34 Flutter仿京东商城项目 用户注册 注册流程 POST发送验证码 倒计时功能 验证验证码

    加群452892873 下载对应34课文件,运行方法,建好项目,直接替换lib目录 以下列出的是本课涉及的文件. RegisterFirst.dart import 'package:flutter/ ...

  5. koa2+mysql+vue实现用户注册、登录、token验证

    说明: node.js提供接口,vue展现页面,前后端分离,出于编辑器功能和编辑习惯,vue用HbuilderX,node.js用VScode.(PS:仅作为学习笔记,如有不当之处欢迎指出,在此先谢为 ...

  6. 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题

    项目里有些不同页面间的日期显示格式是不同的, 第一个问题: 比如我用日期控件WdatePicker.js导包后只需在input标签里加上onClick="WdatePicker()" ...

  7. SpringBoot项目中,表单的验证操作

    在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发 1.接收数据,以及验证 @PostMapping("/save") public Mo ...

  8. .Net Core3.0 WebApi 项目框架搭建 四:JWT权限验证

    .Net Core3.0 WebApi 项目框架搭建:目录 什么是JWT 根据维基百科定义,JWT(读作 [/dʒɒt/]),即JSON Web Tokens,是一种基于JSON的.用于在网络上声明某 ...

  9. 【原创】贡献一个项目中用到的js身份证验证-超级准!!!

    前言 百度百科解释:身份证号码 首先贡献一个大神的链接:js验证身份证超准 代码 function checkIdcard(idcard) { var Errors = new Array( &quo ...

随机推荐

  1. fancybox 使用方法

    项目中需要做一个相册功能.选择的是fancybox,大概记录一下使用方法: 1.引用fancybox所需要的文件,你可以下载至本地或者引用CDN. fancybox最新版本下载地址:http://fa ...

  2. jQuery的Cookie操作插件

    jQuery的cookie插件 01 // jQuery.cookie.js 02 jQuery.cookie = function(name, value, options) { 03     if ...

  3. Linux 获取登录者IP

    在linux中有时须要获得登录者的IP,这里有两种方法.先使用who am i 获取登录IP,然后截取字符串: 1.awk截取,sed替换 who am i | awk '{print $5}' | ...

  4. Centos下查看和修改网卡Mac地址

    linux/Centos下查看网卡Mac地址,输入命令: #ifconfig -a eth0 Link encap:Ethernet HWaddr 00:e4:56:2E:D8:20 00:e4:56 ...

  5. ojdbc14.jar 放在kettle那个目录下面

    \libext\edtftpj-1.4.5.jar \libext\firebirdsql-full.jar \libext\firebirdsql.jar \libext\gis-shape.jar ...

  6. golang包管理

    https://studygolang.com/articles/8413 https://studygolang.com/articles/10523

  7. [java] java 中Unsafe类学习

    java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 1.通过Unsafe类可以分配内存,可以释放内存: 类中提供的3个本地方法all ...

  8. day7—直播内容(元昊老师著)

    *******************************class animal(object): def __init__(self): self.is_handsome=True def e ...

  9. ORA-20000的解决过程

    今天在用impdp导数据时出现卡住的现象,开始我以为是数据量过大导致的,过了两个小时还是卡住,看警告日志得到下面的错误信息: GATHER_STATS_JOB encountered errors.  ...

  10. Keil MDK从未有过的详细使用讲解(转)

    这博主关于MDK 的使用的文章,写的得TM的好  TM的实用! 真心收藏! 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的.但ARM内核毕竟不同于51内核,因此无论 ...