亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

關于ThinkPhp 框架表單驗證及ajax驗證問題

2024-05-04 23:58:51
字體:
來源:轉載
供稿:網友

之前的表單驗證都是用js寫的,這里也可以使用tp框架的驗證。但是兩者比較而言還是js驗證比較好,因為tp框架驗證會運行后臺代碼,這樣運行速度和效率就會下降?!?/p>

  自動驗證是ThinkPHP模型層提供的一種數據驗證方法,可以在使用create創建數據對象的時候自動進行數據驗證。驗證的代碼要寫在模型層即Model里面。

  數據驗證有兩種方式:

靜態方式:在模型類里面通過$_validate屬性定義驗證規則。靜態方式定義好以后其它地方都可以使用。

動態方式:使用模型類的validate方法動態創建自動驗證規則。動態方式比較靈活,哪里使用就寫,其它地方不可以使用。

無論是什么方式,驗證規則的定義是統一的規則,定義格式為:

<?phpnamespace Home/Controller;use Think/Controller;class TestController extends Controller{public function add(){if(empty($_POST)){ $this->show();}else{ $y=new /Home/Model/YongHuuModel();$r=$y->create();if($r){$y->add(); }else{die($y->getError());}}} }

2.在thinkphp/Application/Home/View/Test寫上對應的html文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title></head><style type="text/css">*{ font-family:微軟雅黑; padding:0px; margin:0px auto}</style><body><form action="__ACTION__" method="post"><div>用戶名:<input type="text" name="uid" /></div><div>密碼:<input type="text" name="pwd" /></div><div>確認密碼:<input type="text" name="pwd1" /></div><div>姓名:<input type="text" name="name" /></div><div>郵箱:<input type="text" name="email" /></div><div>年齡:<input type="text" name="age" /></div><div><input type="submit" value="提交" /></div></form></div></body></html>

3.在thinkphp/Application/Home/Model里面寫模型文件,也就是驗證的方法。

<?phpnamespace Home/Model;use Think/Model;class YongHuuModel extends Model{protected $tablePrefix = "";protected $trueTableName = 'yonghuu'; //真實表名//protected $patchValidate = true;protected $_validate = array(array('uid','require','用戶名不能為空!'),array('pwd','pwd1','兩次輸入的密碼不一致!',0,'confirm'), //兩個字段是否相同array('email','email','郵箱格式不正確'),array('name','/^[1-9]/d{5}[1-9]/d{3}((0/d)|(1[0-2]))(([0|1|2]/d)|3[0-1])/d{3}([0-9]|X)$/','身份證號不正確!',0,'regex'),array('age','18,50','年齡不在范圍內',0,'between'),);}

二、動態驗證

1.在Application/Home/Controller里面寫方法

<?phpnamespace Home/Controller;use Think/Controller;class TestController extends Controller{  public function add()  {    if(empty($_POST))//如果post數組為空    {      $this->show();//顯示add.html頁面    }    else//如果post數組不為空    {      $y = D("YongHu");      $arr = array(//動態驗證就是需要在哪驗證就在哪里寫驗證方法。        array("uid","require","用戶名不能為空",0),//講驗證的方法寫在方法里面      );      if($y->validate($arr)->create())//這里要先調用validate方法,然后將寫的驗證方法放到validate里面      {        $y->add();      }      else      {        die($y->getError());      }    }  }}

2.在thinkphp/Application/Home/View/Test寫上對應的html文件

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>無標題文檔</title><style type="text/css"></style></head><body>  <form action="__ACTION__" method="post">    <div>用戶名:<input type="text" name="uid" /></div>    <div>密碼:<input type="text" name="pwd" /></div>    <div>確認密碼:<input type="text" name="pwd1" /></div>    <div>姓名:<input type="text" name="name" /></div>    <div>郵箱:<input type="text" name="email" /></div>    <div>年齡:<input type="text" name="age" /></div>    <div><input type="submit" value="提交" /></div>  </form></body><script type="text/javascript"></script></html>

3.在thinkphp/Application/Home/Model里面寫模型文件。

<?phpnamespace Home/Model;use Think/Model;class YongHuModel extends Model{  protected $tablePrefix = "";//表示表格前綴為空,就是沒有前綴。  protected $trueTableName = "yonghu";//如果不寫這句話,會自動去找Yong_Hu這張表,這是默認的表格的命名。這里要寫上實際的表格的名字。}

三、Ajax做驗證

tp動態驗證和靜態驗證都有一個很大的缺點,那就是在提示錯誤信息的時候都要跳轉到其它頁面顯示出錯誤信息。如果需要在當前頁面顯示出錯誤信息,就需要用ajax做驗證。

1.寫顯示和ajax處理方法

<?phpnamespace Home/Controller;use Think/Controller;class TestController extends Controller{  public function tianjia()//添加方法,用來顯示頁面  {    $this->show();  }  public function test()//ajax處理方法  {    $y = D("YongHu");    $arr = array(//動態驗證就是需要在哪驗證就在哪里寫驗證方法。        array("uid","require","用戶名不能為空"),//講驗證的方法寫在方法里面      );    if($y->validate($arr)->create())//這里要先調用validate方法,然后將寫的驗證方法放到validate里面      {        $this->ajaxReturn("通過驗證","eval");      }      else      {        $this->ajaxReturn($y->getError(),"eval");      }  }}

2.寫顯示頁面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><script src="__PUBLIC__/js/jquery-1.11.2.min.js"></script><title>無標題文檔</title><style type="text/css"></style></head><body>    <div>用戶名:<input id="uid" type="text" name="uid" /></div>    <div><input id="btn" type="button" value="驗證" /></div></body><script type="text/javascript">  $("#btn").click(function(){      var uid = $("#uid").val();      $.ajax({        url:"__CONTROLLER__/test",        data:{uid:uid},        type:"POST",        dataType:"TEXT",        success: function(data){            alert(data);          }                })    })</script></html>

總結

以上所述是小編給大家介紹的關于ThinkPhp 框架表單驗證及ajax,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品一区二区| 最近2019年日本中文免费字幕| 国产成人jvid在线播放| 久久99久国产精品黄毛片入口| 日韩色av导航| 亚洲一区www| 国产精品自拍视频| 亚洲女在线观看| 欧美激情亚洲一区| 久久夜色精品国产| 亚洲最大在线视频| 国产午夜精品美女视频明星a级| 国产69精品久久久久99| 97成人在线视频| 一个人看的www欧美| 成人午夜小视频| 国产精品久久9| 国语自产精品视频在线看抢先版图片| 国产精品视频999| 美女国内精品自产拍在线播放| 2019亚洲男人天堂| 一区二区欧美在线| 亚洲xxx视频| 久久久久久久激情视频| 一区二区在线视频| 性欧美xxxx| 国模精品一区二区三区色天香| 日韩视频在线一区| 热久久免费国产视频| 久久99久国产精品黄毛片入口| 精品福利在线视频| 日韩av资源在线播放| 伦伦影院午夜日韩欧美限制| 国产精品国产亚洲伊人久久| 久久夜色精品亚洲噜噜国产mv| 欧美怡红院视频一区二区三区| 欧美丰满老妇厨房牲生活| 欧美日韩亚洲成人| 亚洲成人三级在线| 国产精品三级久久久久久电影| 亚洲国产精品va在线观看黑人| 永久免费精品影视网站| 亚洲最大福利视频| 成人av在线天堂| 国产精品一香蕉国产线看观看| 97精品国产97久久久久久春色| 国产综合福利在线| 欧美成人高清视频| 国产在线观看91精品一区| 欧美国产在线电影| 欧美裸身视频免费观看| 成人精品久久一区二区三区| 国产香蕉精品视频一区二区三区| 中文字幕精品一区二区精品| 国产69久久精品成人看| 国产国产精品人在线视| 黑人巨大精品欧美一区二区三区| 亚洲视频日韩精品| 久久影院中文字幕| 久久精品国产欧美激情| 色在人av网站天堂精品| 久久精品一本久久99精品| 日韩免费在线免费观看| 夜夜躁日日躁狠狠久久88av| 亚洲成人精品视频| 欧美精品一区二区三区国产精品| 午夜欧美不卡精品aaaaa| 日韩视频欧美视频| 亚洲国产日韩一区| 都市激情亚洲色图| 欧美性xxxx极品高清hd直播| 国产精品视频在线观看| 97精品在线视频| 国产成人小视频在线观看| 欧美黑人性视频| 欧美日韩在线免费| 欧洲亚洲免费视频| 欧美日韩人人澡狠狠躁视频| 欧美疯狂做受xxxx高潮| 欧美激情免费视频| 久久久天堂国产精品女人| 国产精品亚洲综合天堂夜夜| 亚洲精品美女网站| 日韩中文字幕网站| 精品国产老师黑色丝袜高跟鞋| 欧美超级免费视 在线| 国产精品永久在线| 亚洲欧美日韩第一区| 国产欧美一区二区三区久久人妖| 国产精品看片资源| 日产精品久久久一区二区福利| 久久久99久久精品女同性| 日韩精品在线第一页| 亚洲一区二区久久| 精品av在线播放| 久久成人av网站| 国产极品jizzhd欧美| 午夜精品一区二区三区av| 伊人成人开心激情综合网| 精品久久久久久亚洲精品| 亚洲欧美日韩天堂| 奇米四色中文综合久久| 日韩国产精品亚洲а∨天堂免| 日韩精品在线观看一区二区| 欧美富婆性猛交| 国产精品美女999| 欧美极度另类性三渗透| 欧美激情视频一区二区| 日韩欧美一区视频| 深夜福利国产精品| 欧美一区三区三区高中清蜜桃| 亚洲国产欧美一区二区丝袜黑人| 欧美在线视频观看| 亚洲免费一级电影| 国产精品久久久久久婷婷天堂| 57pao成人国产永久免费| 欧美精品久久久久久久久久| 欧美壮男野外gaytube| 久久国产精品影片| 国产精品永久免费| 一区二区成人av| 亚洲精品电影在线观看| 亚洲精品电影网站| 国产精品羞羞答答| 欧美日韩一区二区在线播放| 国产精品青草久久久久福利99| 亚洲另类图片色| 久久亚洲精品小早川怜子66| 欧美www在线| 欧美在线观看视频| 91精品国产高清| 中文字幕在线观看日韩| 亚洲天堂网在线观看| 97精品国产97久久久久久春色| 成人福利视频网| 日韩中文第一页| 国产精品专区第二| 尤物九九久久国产精品的分类| 欧美激情国内偷拍| 欧美高清不卡在线| 久久国内精品一国内精品| 一区二区三区视频免费| 亚洲精品456在线播放狼人| 91影视免费在线观看| 欧美精品videosex性欧美| 2019亚洲男人天堂| 欧美精品激情blacked18| 中文字幕久久精品| 在线观看91久久久久久| 亚洲一级黄色av| 国a精品视频大全| 欧美性受xxx| 色偷偷888欧美精品久久久| 成人两性免费视频| 精品成人国产在线观看男人呻吟| 亚洲天堂一区二区三区| 国产在线观看不卡| 久久精品国产亚洲一区二区| 久久亚洲一区二区三区四区五区高| 欧美日韩在线一区| 欧美成人激情视频免费观看| 国产欧美精品xxxx另类| 久久成年人视频| 久久影视免费观看|