2016-07-23 112 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

相关问题