2010-02-02 72 views
0

我的CakePHP(1.2.5。)不驗證我的表單正確。蛋糕PHP - 表單驗證不起作用

$this->UserData->save($this->data); 

給我總是一個真正的價值回來。我找不到問題。 UserData.nichname的標籤有效。

這就是查看:

<?php 
echo $form->create('UserData'); 
echo $form->error('UserData.nick_name'); 
echo $form->input('UserData.nick_name', array('id' => 'UserDatanick_name', 'rule' => 'alphaNumeric', 'label' =>'Nickname:', 'error' =>'false')); 
echo $form->end(array('label' => ' Save ')); 
?> 

這裏是我的控制器:

class UserDatasController extends AppController { 
    var $name = 'UserDatas'; 
    function add(){ 
    if (!empty ($this->data)){ 
     $this->UserData->create(); 
     if ($this->UserData->save($this->data)){ 
      $this->Session->setFlash('input is valid'); 
     } else { 
      $this->Session->setFlash('input is not valid'); 
     } 
    } 
    } 
} 

的規則都沒有在模型中,這就是reaseon我不張貼。

驗證還需要什麼?

在此先感謝 史蒂夫

回答

0

也^^檢查你的文件被調用。 你已經命名你的模型文件user_data.php對不對?和你的控制器user_data_controller.php?

請注意由於您的CamelCasing造成的下劃線。如果你得到的模型文件名錯誤,它不會抱怨,而是使用默認的魔術模型 - 這可能是爲什麼你的模型中的驗證規則沒有得到提取。

+0

非常感謝, 這是問題!!!!!!! – Schtief 2010-02-03 12:24:22

0

謝謝!

我已經用appmodel試過了。 現在標籤也不起作用。

這裏是我的appmodel:

class UserData extends AppModel { 
    var $name = 'UserData'; 
    var $validate = array('nick_name' => array(
       'rule' => 'alphaNumeric', 
       'label' =>'Nickname:', 
       'error' =>'false') 
     ); 
} 
+0

MVC分離:所有與數據保存/抓取有關的事物都在模型中,與該數據的呈現有關的所有事情都在View中。驗證規則與數據保存有關,並進入模型,表單字段的標籤,這些類型與視圖相關。再次慢慢閱讀食譜,並注意哪些字段放在哪裏。 http://book.cakephp.org/view/127/One-Rule-Per-Field http://book.cakephp.org/view/189/Automagic-Form-Elements :) – deceze 2010-02-02 23:08:44

+0

請不要回答您的問題自己的問題與其他用戶的迴應或其他用戶。編輯您的原始問題並評論他們的答案。 – Bobby 2010-02-03 10:52:58

0

我相信你只指定模型中的規則,但標籤將保持在$形式 - > input()函數