2012-04-26 11 views
1

以下のPHP検証が正しくコーディングされているかどうかを知りたいと思います。それは動作しますが、私はそれを行うより良い方法があるかどうかを知りたいと思います。ifステートメント内のPHPのバリデーション

if(isset($_POST['account_type']) && $_POST['account_type']==2){ 

if ((strlen(utf8_decode($this->request->post['cnpj'])) < 3) || (strlen(utf8_decode($this->request->post['cnpj'])) > 32)) { 
      $this->error['cnpj'] = $this->language->get('error_cnpj'); 
     } 
} 

企業アカウントを申請している顧客にのみ表示される非表示の必須フィールドがあるため、このようにする必要があります。ラジオボタンをクリックすると、フィールドが表示されます。顧客が値= 2の小売業者のアカウントラジオボタンをクリックしたときに、そのフィールド[cnpj]を検証するだけです。

ありがとうございます。

マーヴィンM

+1

'$ this-> request-> post ['cnpj']'の期待値は? intまたはstring? –

+0

cnpjは文字列@LawrenceCheroneになります – codekmarv

+0

@Chandresh ...そしてあなたのコメントは私の質問に関連しています... – codekmarv

答えて

1

コードの行以下のようにあなたがあなたのコードを実行できます。私は、このことだと思うのフォーム検証

function formValidation(){ 

if ((strlen(utf8_decode($this->request->post['cnpj'])) < 3) || (strlen(utf8_decode($this->request->post['cnpj'])) > 32)) { 
      $this->error['cnpj'] = $this->language->get('error_cnpj'); 
     } 

} 

ため

if($_POST['account_type']==2 && $this->formValidation()){ 

     // Do your next process what you want to do if all set 

}else{ 

    return $this->error; 

} 

//機能サーバー側ですべてのフォームの検証を行う方法です。 また、ほとんどのMVC構造はこの方法に従います。

+0

あなたの返事をありがとう、それを見てみましょう。 – codekmarv

関連する問題