2016-05-16 12 views
-1

ユーザーが英語の文字を入力した場合にメッセージを表示します。ペルシャ文字を入力する必要があることを示すメッセージが表示されます。これに対してコールバック関数を使用しますが、英語の文字を入力するとメッセージは表示されません(please enter %s in persian.)。なぜ私のform_validationが機能しないのですか?

これが私の見解です:

<div class="row"> 
    <div class="form-group"> 
     <div class="col-md-2"> 
      <label>mantaghe<span style="color:red">*</span></label> 
     </div> 
     <div class="col-md-4 col-md-pull-1"> 
      <input class="form-control" id="mantaghe" name="mantaghe"></input> 
      <?php echo form_error('mantaghe'); ?> 
     </div> 
    </div> 
</div> 

マイコントローラ:

public function show_info() 
{ 
    $this->form_validation->set_rules('mantaghe', 'mantaghe ',      
    'required|callback_persian_check'); 
} 
function persian_check() 
{  
    $username = $this->input->post('mantaghe'); 
    if (!preg_match('/^[^\x{600}-\x{6FF}]+$/u',$username)) 
    { 
     $this->form_validation->set_message('persian_check'," please enter %s in persian"); 
     return false; 
    } 
    else return true; 
} 
+3

以下のように何について何を話していますか? –

+1

メソッドの中に**メソッドを書く**最初のものを完成して '$ this-> METHODNAME'を使ってメソッドを書いて、あなたの質問に関する詳細を追加してください –

答えて

1

変更

function persian_check() 
{ 
    $username = $this->input->post('mantaghe'); 
    if (!preg_match('/^[آ ا ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]/',$username)) 
     { 
      $this->form_validation->set_message('persian_check'," please enter %s in persian"); 
      return false; 
     } 
      else 
       return true; 
} 
+0

私はそれを持っていますが動作しません。私のコード。 – Zoee

関連する問題