簡介:這是cakephp 資料校正的詳細頁面,介紹了和php,有關的知識、技巧、經驗,和一些php源碼等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339653' scrolling='no'>
下內容,多數為cakephp1.2手冊內容。
模型的校正,本質上就是當你調用模型上的save()時所發生的事情。要學習怎麼處理錯誤資訊顯示,請
查看FormHelper節的描述.
資料校正的第一步是建立模型校正規則。方法是在模型定義檔案中使用Model::validate數組,例如:
- <?php
- class User extends AppModel {
- var $name = 'User';
- var $validate = array();
- }
- ?>
在上面的例子中, $validate數組被加入到了User模型,但是這個數組包含了校正規則。假設使用者表有login, password,
email和born欄位,下面的例子告訴你怎麼應用一些簡單的規則到這些欄位:
- <?php
- class User extends AppModel {
- var $name = 'User';
- var $validate = array(
- 'login' => 'alphaNumeric',
- 'email' => 'email',
- 'born' => 'date'
- );
- }
- ?>
上面的例子告訴你這些校正規則怎麼加入到這些欄位. 對於login欄位, 僅僅接收數字和字元,
email應該是一個有效eamil並且born應該是一個有效日期。當使用者提交的資料不符合所定義的規則,CakePHP校正機制就能神奇地顯示相
應的錯誤資訊。
上述的執行個體較為簡單,下面請看更加複雜的案例 。
- <?php
- class User extends AppModel {
- var $name = 'User';
- var $validate = array(
- 'login' => array( //login欄位校正規則
- 'alphanumeric' => array(
- 'rule' => 'alphaNumeric',
- 'required' => true,
- 'message' => 'Alphabets and numbers only'
- ),
- 'between' => array(
- 'rule' => array('between', 5, 15),
- 'message' => 'Between 5 to 15 characters'
- )
- ),
- 'password' => array( //password欄位規則
- 'rule' => array('minLength', '8'),
- 'message' => 'Mimimum 8 characters long'
- ),
- 'email' => 'email',
//email欄位規則
- 'born' => array( //born欄位規則
- 'rule' => 'date',
- 'message' => 'Enter a valid date',
- 'allowEmpty' => true
- )
- );
- }
- ?>
代碼說明:
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