作者:华浦即热式电热水龙头_376 | 来源:互联网 | 2014-06-12 18:37
一、自动验证array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间'...
一、自动验证
array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间')
验证字段:需要验证表单字段名称
验证规则:必须要结合附加规则一起使用
错误提示:如果出现错误,抛出一个什么样的错误提示告知用户
验证条件:0、1、2
附加规则:1、regex使用正则验证 2、function使用函数验证 3、callback回调 4、confirm验证表单当中两个字段是否相同 5、验证是否等于某个值 6、in是否在某一个范围内 7、验证是否唯一
TP封装:require 字段必须验证;eamil 验证邮箱;url 验证url地址;currency 货币;number 数字;
验证时间:指数据库操作时间的验证时机,新增数据时验证Model::MODEL_INSERT;编辑的时候验证Model::MODEL_UPDATE;全部情况下验证Model::MODEL_BOTH;
aoli/Home/Tpl/default/User/reg.html
- <form action="__URL__/regadd" method="post">
- 用户名:<input type="text" name="username" /><br />
- 密码:<input type="password" name="password" /><br />
- 重复密码:<input type="password" name="repassword" /><br />
- 注册时间:<input type="text" name="createtime" /><br />
- 注册IP:<input type="text" name="createip" /><br />
- <input type="submit" value="注册" />
- form>
aoli/Home/Lib/Model/UserModel.class.php
- class UserModel extends Model{
- protected $_validate=array(
- array(&#39;username&#39;,&#39;require&#39;,&#39;用户名必填&#39;),
- array(&#39;username&#39;,&#39;checklen&#39;,&#39;用户名长度过长或过短&#39;,0,&#39;callback&#39;),
- array(&#39;password&#39;,&#39;require&#39;,&#39;密码必填&#39;),
- array(&#39;repassword&#39;,&#39;require&#39;,&#39;重复密码必填&#39;),
- array(&#39;password&#39;,&#39;repassword&#39;,&#39;两次密码不一致&#39;,0,&#39;confirm&#39;),
- array(&#39;createtime&#39;,&#39;number&#39;,&#39;您输入的不是数字&#39;),
- array(&#39;createip&#39;,&#39;email&#39;,&#39;邮箱格式不正确&#39;),
- );
- function checklen($data){
- if(strlen($data)>15 || strlen($data)<5){
- return false;
- }else{
- return true;
- }
- }
-
- }
- ?>
aoli/Home/Lib/Action/UserAction.class.php
- class UserAction extends Action {
- function reg(){
- $this->display();
- }
- function regadd(){
- $user=D(&#39;user&#39;);
- if($user->create()){
- if($user->add()){
- $this->success(&#39;注册成功&#39;);
- }else{
- $this->error(&#39;注册失败&#39;);
- }
- }else{
- $this->error($user->getError());
- }
- }
- }
- ?>
二、自动完成(自动填充)
自动完成也是ThinkPHP当中的一个成员方法,在create的时候,自动执行
array(&#39;填充字段&#39;,&#39;填充内容&#39;,&#39;填充条件&#39;,&#39;附加规则&#39;);
- protected $_auto = array (
-
- array(&#39;password&#39;,&#39;md5&#39;,1,&#39;function&#39;) ,
- array(&#39;createtime&#39;,&#39;time&#39;,3,&#39;function&#39; ),
- );
三、自动映射(字段映射)
自动映射:将数据库的字段映射成别名,在表单中就可以使用别名了.
- protected $_map = array(
- &#39;name&#39; => &#39;username&#39;,
- &#39;pass&#39; => &#39;password&#39;,
- );