2017-11-27 4 views
0

codeigniter.In을 사용하고 있습니다.보기 파일에 양식이 있고 필드 유효성 검사를 위해 부트 스트랩 검사기를 사용합니다. 부트 스트랩 검사기 유효성 검사 양식 필드가 올바르게되었습니다. 문제는 제가 codeigniter로 작업하고 있다는 것입니다. 이 함수는 controller.After 형태로 작성된 컨트롤러에서 작성된 함수에 리디렉션해야합니다. 여기에 내가 성공 버튼을 클릭 한 후 어떤 action.It을 수행하지 않았다면 컨트롤러에 리디렉션하지 않는 새로운 버튼을 클릭하면 새로운 문제가 직면하고있다 함수는 writtern입니다, 어떻게 성공적인 validation.I 후 페이지를 리디렉션 자바 스크립트 아약스를 사용하지 않고 사용하고 있습니다. 여기 성공한 부트 스트랩 유효성 검사기 후 페이지 리디렉션

<form class="" data-toggle="validator" role="form" id="sms_form" method="Post" action="<?php echo site_url('SMS/sendIndividualMsg/'.$row->pro_id)?>">      

    <div class="col-md-12"> 
        <div class="form-group"> 
        <label for ="message"><strong>Message</strong></label> 
        <textarea class="form-control" id="comment_body" name="message" placeholder=" Your Message"></textarea>     

        </div> 
        <div> 

        <?php echo form_submit(['name' => 'submit' ,'class' => 'btn btn-default' , 'value' => 'Send Message']); ?> 


        </div> 
        </div> 
       </form> 

는 부트 스트랩 검증의 내 코드입니다 : 여기

보기 파일의 내 코드입니다

다음
<script> 
    $('#sms_form').bootstrapValidator({ 
     // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later 
     feedbackIcons: { 
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove', 
      validating: 'glyphicon glyphicon-refresh' 
     }, 
     fields: { 
      message:{ 
      validators: { 
       regexp: { 
         regexp: /^[a-zA-Z0-9_\.\s]+$/, 
         message: 'The message can only consist of alphabetical, number, dot and underscore' 
        }, 
        notEmpty: { 
         message: 'Please supply your message' 
        } 
      } 
      }   
     } 
    }); 
</script> 

입니다 controller.This의 내 코드는 내가 재 지정을 원하는 기능은 다음과 같습니다

public function sendIndividualMsg($pro_id) 
{ 
} 
+0

FormValidation의 버전 유 버전을 사용하고 있습니다 부트 스트랩? – sintakonte

답변

1

<script> 
    $('#sms_form').bootstrapValidator({ 
     // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later 
     feedbackIcons: { 
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove', 
      validating: 'glyphicon glyphicon-refresh' 
     }, 
     fields: { 
      message:{ 
      validators: { 
       regexp: { 
         regexp: /^[a-zA-Z0-9_\.\s]+$/, 
         message: 'The message can only consist of alphabetical, number, dot and underscore' 
        }, 
        notEmpty: { 
         message: 'Please supply your message' 
        } 
      } 
      }   
     } 
     .on('success.field.fv', function(e, data) { 
     $("form").submit(); 
     }); 
    }); 
</script> 
+0

이 코드를 작성한 후 Swadesh가 유효성 검사가 작동하지 않습니다. –

+0

"success.fied.fv"는 어떤 ID입니까, 내장 된 변수입니까? –

+0

.field.fv 클래스의 Insted가 클래스 이름을 사용합니다. –

0

장난하지 않았습니까?

짧은 이야기.

jquery.js 파일 (부트 스트랩 js 파일의 일부 임)을로드 한 후에 JS가 있어야합니다. 현재 JS가 작동합니다.

당신은 또한 당신이하지 않으면, 당신이 ... 당신의 JS를 포장해야합니다의 bootstrapValidator.js 후 필요

여기에 트릭이 당신의 브라우저에서 콘솔 메시지를 볼 수있다
$(document).ready(function() { 
    // JS Code here if this is rendered before bootstrapValidator.min.js 
}) 

개발자 도구 ...

콘솔 메시지를 보지 않고도 작동하지 않는다고 말하는 것만으로는 도움이되지 않습니다.

내가 무엇에 관한 것인지 모른다면 나중에 설명해 드리겠습니다.

업데이트 : 문제를 조사하는 데 사용한 테스트 코드입니다.

시험보기 - 뷰/form_validator_view.php

<!doctype html> 
<html lang="en"> 
<head> 
    <title>Hello, world!</title> 
    <!-- Required meta tags --> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 

    <!-- Bootstrap CSS --> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb" crossorigin="anonymous"> 
</head> 
<body> 
<h1>Hello, world!</h1> 

<div class="container"> 
    <form class="" data-toggle="validator" role="form" id="sms_form" method="Post" action="<?php echo site_url('sms/sendIndividualMsg/' . 1) ?>"> 
     <div class="form-group"> 
      <label for="message"><strong>Message</strong></label> 
      <div class="col-md-12"> 
       <textarea class="form-control" id="message" name="message" placeholder=" Your Message"></textarea> 
      </div> 
     </div> 

     <div class="form-group"> 
      <div class="col-xs-9 col-xs-offset-3"> 
       <button type="submit" class="btn btn-primary" name="signup" value="Sign up">Submit</button> 
      </div> 
     </div> 
    </form> 
</div> 

<!-- Optional JavaScript --> 
<!-- jQuery first, then Popper.js, then Bootstrap JS --> 
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script> 
<script src="//oss.maxcdn.com/jquery.bootstrapvalidator/0.5.2/js/bootstrapValidator.min.js"></script> 


<script> 
$(document).ready(function() { 
    // JS Code here if this is rendered before bootstrapValidator.min.js 
}) 
// $(document).ready(function() { 
     $('#sms_form').bootstrapValidator({ 
      // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later 
      feedbackIcons: { 
       valid: 'glyphicon glyphicon-ok', 
       invalid: 'glyphicon glyphicon-remove', 
       validating: 'glyphicon glyphicon-refresh' 
      }, 
      fields: { 
       message: { 
        validators: { 
         regexp: { 
          regexp: /^[a-zA-Z0-9_\.\s]+$/, 
          message: 'The message can only consist of alphabetical, number, dot and underscore' 
         }, 
         notEmpty: { 
          message: 'Please supply your message' 
         } 
        } 
       } 
      } 
     }); 
// }) 
</script> 

</body> 
</html> 

테스트 컨트롤러 - 컨트롤러/Sms.php

<?php 

class Sms extends CI_Controller { 
    public function __construct() { 
     parent::__construct(); 
     $this->load->helper('url'); 
     $this->load->helper('form'); 
    } 

    public function index() { 
     $this->load->view('form_validator_view'); 
    } 

    public function sendIndividualMsg($id) { 
     echo "The ID is $id"; 

     var_dump($_POST); 
    } 
}