2016-07-23 108 views
-2

我想匹配密碼與cpassword與驗證rule.but我有我的model.php文件中的錯誤。如何刪除此錯誤,請幫助我。和thanku提前: 語法錯誤,意想不到的 '功能'(T_FUNCTION),預計 ')'語法錯誤,意外'功能'(T_FUNCTION),期待')'

model file: 
App::uses('AppModel', 'Model'); 
class User extends AppModel { 

var $name = 'User'; 
var $useTable = 'users'; 
var $actsAs = array('Multivalidatable'): 
var $validationSets = array(
'AddUser' => array(

    public $validate = array(
     'cpassword' => array(
      'equaltofield' => array(
      'rule' => array('equaltofield','password'), 
      'message' => 'Require the same value to password.',    
      'on' => 'create', 
      ) 
      ), 
     ); 

    function equaltofield($check,$otherfield) 
    { 
     //get name of field 
     $fname = 'password'; 
     foreach ($check as $key => $value){ 
      $fname = $key; 
      break; 
     } 
     return $this->data[$this->name][$otherfield] === $this->data[$this->name][$fname]; 
    } 
'password'=>array(
        'notEmpty'=>array(
         'rule' => 'notBlank', 
         'message' => 'Please enter password ' 
        )      
       ), 
+3

StackOverflow不是「修復我的無效代碼」服務提供者。更不用說這段代碼是錯誤的,它有太多的sytax錯誤,所以我建議你先學習一些關於PHP基礎的知識(沒有冒犯性)。此外,該無效片段將不會產生您提到的錯誤,這會使您的問題變得不重要,因爲它不可重現。 – ndm

+1

[PHP Parse/Syntax Errors;和如何解決它們?](http://stackoverflow.com/questions/18050071/php-parse-syntax-errors-and-how-to-solve-them) –

回答

0

試試這個:

 function equaltofield($check,$otherfield) 
    { 
      //get name of field 
     $fname = 'password'; 
     foreach ($check as $key => $value){ 
      $fname = $key; 
      break; 
     } 
     if($this->data[$this->name][$otherfield] === $this->data[$this->name][$fname]) { 
     return true; 
     } 
     return false; 
    } 

OR

使用equalTo驗證規則:

 var $validationSets = array('AddUser' => array(

     public $validate = array(
      'cpassword' => array(
       'rule' => array('equalTo', 'password'), 
       'message' => 'This password must be the equal', 
      ) 
    ); 

http://book.cakephp.org/2.0/en/models/data-validation.html#custom-validation-rules

相關問題