2016-05-16 2 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

Смежные вопросы