2012-03-08 5 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

+0

$属性は7桁ですが、最初は2桁しか使用しません。そして、私は$ string2の(2桁) – syaloom

+0

それは、このコード 'パブリック関数CekDigit($属性、$ paramsは)によって解決して、それに合わせたい' \t '{' \t \t '$件名= SUBSTR($この>のgetAttribute ($属性)、0,2) ' \t \t' $パターン=の$ this - > string2の!; ' \t \t' IF($対象== $パターン) ' \t \t \t' { ' \t \t \t \t '$ this> addError($属性、$ params ['メッセージ']);' \t \t \t \t 'falseを返す;' \t \t \t '}' \t \t 'それ以外はtrueを返す;' \t '}' – syaloom

答えて

0

の代わりに、場合($件名!== $パターン)

あなたは(のstrcmp($件名、$パターン)== 0)

場合 を使用する場合があります
関連する問題