cakephp 資料校正

來源:互聯網
上載者:User

簡介:這是cakephp 資料校正的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。

class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339653' scrolling='no'>

下內容,多數為cakephp1.2手冊內容。

模型的校正,本質上就是當你調用模型上的save()時所發生的事情。要學習怎麼處理錯誤資訊顯示,請
查看FormHelper節的描述.

資料校正的第一步是建立模型校正規則。方法是在模型定義檔案中使用Model::validate數組,例如:

  1. <?php
  2. class User extends AppModel {
  3. var $name = 'User';
  4. var $validate = array();
  5. }
  6. ?>

在上面的例子中, $validate數組被加入到了User模型,但是這個數組包含了校正規則。假設使用者表有login, password,
email和born欄位,下面的例子告訴你怎麼應用一些簡單的規則到這些欄位:

  1. <?php
  2. class User extends AppModel {
  3. var $name = 'User';
  4. var $validate = array(
  5.   'login' => 'alphaNumeric',
  6.   'email' => 'email',
  7.   'born' => 'date'
  8. );
  9. }
  10. ?>

上面的例子告訴你這些校正規則怎麼加入到這些欄位. 對於login欄位, 僅僅接收數字和字元,
email應該是一個有效eamil並且born應該是一個有效日期。當使用者提交的資料不符合所定義的規則,CakePHP校正機制就能神奇地顯示相
應的錯誤資訊。

上述的執行個體較為簡單,下面請看更加複雜的案例 。

  1. <?php
  2. class User extends AppModel {
  3. var $name = 'User';
  4. var $validate = array(
  5.   'login' => array(   //login欄位校正規則
  6. 'alphanumeric' => array(
  7. 'rule' => 'alphaNumeric',
  8. 'required' => true,
  9.  'message' => 'Alphabets and numbers only'
  10. ),
  11. 'between' => array(
  12. 'rule' => array('between', 5, 15),
  13. 'message' => 'Between 5 to 15 characters'
  14. )
  15. ),
  16.   'password' => array( //password欄位規則
  17. 'rule' => array('minLength', '8'),
  18. 'message' => 'Mimimum 8 characters long'
  19. ),
  20.   'email' => 'email',
    //email欄位規則
  21.   'born' => array(  //born欄位規則
  22. 'rule' => 'date',
  23. 'message' => 'Enter a valid date',
  24. 'allowEmpty' => true
  25. )
  26. );
  27. }
  28. ?>

代碼說明:

1.login欄位定義了兩個校正規則:一個是alphanumeric,要求輸入只能包含字母和數字,另一個規則是between, 要求輸入的長度在5到15之間;

2.password欄位要求最少8個字元;email應該是一個有效email;

3.born必須是一個有效日期。

4.注意上面 的例子還描述了當校正失敗時如果顯示定製的出錯資訊。

5.正像上面例子指出的,一個field可以有多個校正規則。並且如果內建規則不滿足你的要求,你可以加自己的校正規則。

總結:

現在,你已經看到了校正規則的大概工作原理。讓我們看看這些規則是怎麼定義的吧。有3種方法定義校正規則:

1. 簡單數組
2. 每個欄位一個規則
3. 每個欄位多個規則

愛J2EE關注Java邁克爾傑克遜視頻站JSON線上工具

http://biancheng.dnbcw.info/php/339653.html pageNo:7

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.