2017-03-21 3 views
0

많은 예제 인터넷을 사용하여 CodeIgniter 프로젝트에서 볼 때 jQuery Validate plugin을 사용하려고합니다.하지만 전혀 작동하지 않습니다! 여기 StackOverflow 및 다른 사이트에서 발견 한 많은 수법을 사용했지만 작동하지 않습니다. 이jQuery Validator 플러그인이 CodeIgniter에서 작동하지 않습니다.

<form id="https://cdn.jsdelivr.net/jquery.validation/1.15.1/jquery.validate.min.js"> 

<form id="formIngEmpresa"> 

를 넣어 경우

<script src="<?php echo base_url(); ?>js/jquery-validation-1.16.0/dist/jquery.validate.js"></script> 
<body> 
<section class="content"> 
     <div class="row"> 
     <!-- left column --> 
     <div class="col-md-6"> 

      <!-- general form elements --> 
      <div class="box box-primary"> 
      <div class="box-header with-border"> 
       <h3 class="box-title">Ingresar nueva empresa</h3> 
      </div> 
      <!-- /.box-header --> 
      <!-- form start --> 
      <form id="formIngEmpresa"> 

       <!-- RESPUESTA DE FORMULARIO --> 

       <!-- FIN RESPUESTA DE FORMULARIO --> 

       <div class="box-body"> 
       <div class="form-group"> 
        <label for="usuario_login">Nombre o Razón Social de la empresa</label> 
        <input type="input" class="form-control" id="nm_rs_empresa" placeholder="Ingrese login"> 
       </div> 
       <div class="form-group"> 
        <label for="usuario_password">Rut empresa</label> 
        <input type="input" class="form-control" id="nr_rut_empresa" placeholder="rut"> 
       </div> 
       <div class="form-group"> 
        <label for="usuario_password2">Descripcion empresa</label> 
        <input type="text" class="form-control" id="nm_desc_empresa" placeholder="Password"> 
       </div> 
       <div class="form-group"> 
        <label for="usuario_nm_usuario">Rubro de la empresa</label> 
        <input type="input" class="form-control" id="nm_rubro" placeholder="Ingrese nombres"> 
       </div> 

       </div> 
       </div> 
       <!-- /.box-body --> 

       <div class="box-footer"> 
       <button type="submit" class="btn btn-primary">Ingresar</button> 
       <button type="reset" class="btn btn-default">Cancelar</button> 

       </div> 
      </form> 
      </div> 
      <!-- /.box --> 

     </div> 
     <!-- /.row --> 
    </section> 
    </body> 
<script> 



$(function() { 
    // Initialize form validation on the registration form. 
    // It has the name attribute "registration" 
    alert($("#formIngEmpresa").validate().form()); 
    $("#formIngEmpresa").validate({ 
    // Specify validation rules 
    rules: { 
     // The key name on the left side is the name attribute 
     // of an input field. Validation rules are defined 
     // on the right side 
     nm_rs_empresa: "required", 
     nr_rut_empres: "required", 
     nm_desc_empresa: "required", 
     nm_rubro: "required" 

    }, 
    // Specify validation error messages 
    messages: { 
     nm_rs_empresa: "Porfavor introducir nombre empresa", 
     nr_rut_empres: "Por favor introducir rut", 
     nm_desc_empresa: "Por favor introducir una Descripcion", 
     nm_rubro: "Elija el rubro de la empreesa", 

    }, 
    // Make sure the form is submitted to the destination defined 
    // in the "action" attribute of the form when valid 
    submitHandler: function(form) { 
     form.submit(); 
    } 
    }); 
    $("#submit").click(function(){ 
      $("#formIngEmpresa").submit(); 
      return false; 
    }); 
}); 
    </script> 
+0

오류 메시지가 – pinoyCoder

+0

는 콘솔 및 사후 오류 메시지 (있는 경우)를 확인하시기 바랍니다. – webDev

+0

콘솔에 메시지가 표시되지 않습니다. –

답변

0

jQuery를 검증 플러그인 CodeIgniter의

오른쪽에서 작동하지 않습니다, 그렇지 않습니다. jQuery는 JavaScript이며 브라우저에서만 작동하며 CodeIgniter는 서버에서만 작동합니다. 다시 말해 브라우저에 적절한 HTML 마크 업을 보내는 한 프레임 워크는 JavaScript에 중요하지 않습니다. 당신이 어려움을 겪고있는 이유는 다음과 같습니다

은 ...입니다

  1. 당신 검증을 위해 고려 모든 입력에 name 속성이 있어야하며 이러한 이름은 정확하게 당신이 규칙을 선언 할 때 사용한 이름과 일치해야합니다 . 코드 주석도 똑같이 말합니다!

    rules: { 
        // The key name on the left side is the name attribute <-- READ HERE!! 
        // of an input field. Validation rules are defined 
        // on the right side 
        nm_rs_empresa: "required", // <- 'nm_rs_empresa' must match the 'name' attribute 
        .... 
    
  2. click 핸들러는 플러그인을 우회 할 수있다. jQuery Validate가 submit 단추의 click 이벤트를 자동으로 캡처하고 제출을 완전히 처리하므로 추가 이벤트 처리기가 전혀 필요하지 않습니다. 이 전체 click 처리기를 제거하십시오 ... 필요하지 않습니다.

    $("#submit").click(function() {  // REMOVE THIS 
        $("#formIngEmpresa").submit(); // REMOVE THIS 
        return false;     // REMOVE THIS 
    });         // REMOVE THIS 
    

작업 DEMO

: jsfiddle.net/wtdhvtc7/

+0

내 문제가 해결되었습니다. 고맙습니다! –

0

먼저이 귀하의 첫 번째 실수 양식 필수의 ID입니다
대신 양식의 ID를 업데이트 : 여기 내 코드입니다 JQuery 메서드와 일치 $("#formIngEmpres").validate() 여기서 formIngEmpres은 양식의 ID입니다.

+0

ID를 변경했지만 동일한 문제가 발생합니다. –

+0

다른 문제가있을 수 있습니다. 브라우저 콘솔에서 오류 메시지를 게시하십시오. – webDev