2012-03-08 59 views
0

我想问一下关于Yii的验证。我已经把我的验证模型,就像这样:模型上的功能不起作用

public function CekDigit($attribute,$params) 
    { 
     $subject=substr($attribute,0,2); 
     $pattern=$this->string2; 
     if ($subject!==$pattern) 
      { 
       $this->addError($attribute, $params['message']); 
       return false; 
      } 
    } 

虽然我跑了,它打开了错误信息,甚至条件是真的。 我的意思是,当我把相同的字符串(这是匹配)仍然有一个错误。 我该如何解决它,使其成为有效的条件?

感谢

+0

你可以发布'$ attribute'和'$ this-> string2'的示例值吗? – bfavaretto 2012-03-08 02:03:42

+0

$属性有7位数字,但我只需要2位数字(开头)。我想用$字符串2(2位) – syaloom 2012-03-08 02:07:22

+0

它通过这个代码 '公共职能CekDigit($属性,$ params)方法解决了与之相匹配的' \t'{' \t \t'$主题= SUBSTR($此>的getAttribute ($属性),0,2)' \t \t'$图案= $这个 - >字符串2;!' \t \t'如果($受试者== $图案)' \t \t \t''{ \t \t \t \t'$ this> addError($ attribute,$ params ['message']);' \t \t \t \t'返回false;' \t \t \t'}' \t \t'否则返回真;' \t'}' – syaloom 2012-03-08 03:49:39

回答

0

,而不是如果($主题!== $模式)

您可能需要使用如果(STRCMP($主题,$模式)== 0)