2

私のフロント エンドは Php Yii です。ユーザー名がデータベースに既に存在するかどうかを確認するカスタム検証ルールを作成しようとしています。

データベースに直接アクセスできません。データベースと通信するには、RestClient を使用する必要があります。私の問題は、カスタム検証ルールが CFormModel で機能しないことです。

これが私のコードです:

public function rules()
{
   return array(
      array('name', 'length', 'max' => 255),
      array('nickname','match','pattern'=> '/^([a-zA-Z0-9_-])+$/' )
      array('nickname','alreadyexists'),  
      );
}

public function alreadyexists($attribute, $params)
{
   $result = ProviderUtil::CheckProviderByNickName($this->nickname);
   if($result==-1)
   {
     $this->addError($attribute,
        'This Provider handler already exists. Please try with a different one.');
   }

これはまったく機能していないようです。これも試しました:

public function alreadyexists($attribute, $params)
{
   $this->addError($attribute,
         'This Provider handler already exists. Please try with a different one.');

}

それでも、うまくいかないようです。ここで何が間違っていますか?

4

2 に答える 2