0

なぜ "formvalidation plugin"はリモート検証のバグを投げますか?なぜ "formvalidation plugin"はリモート検証のバグを投げますか?

formvalidation 0.8.1、bootstrap 3、およびlaravel 5.3を使用してください。私は、「リモート」の検証を利用する場合は

それは私に次のようなエラーが送信されます。

 
FormValidation.min.js: 4 Uncaught TypeError: b.success is not a function 
     At f (http: // localhost: 8000/formValidation/formValidation.min.js: 4: 6021) 
     At Object.validate (http: // localhost: 8000/formValidation/formValidation.min.js: 4: 6890) 
     At FormValidation.Framework.Bootstrap.validateField (http: // localhost: 8000/formValidation/formValidation.min.js: 1: 27660) 
     At HTMLInputElement. (http: // localhost: 8000/formValidation/formValidation.min.js: 1: 11025) 
     At HTMLInputElement. (http: // localhost: 8000/formValidation/formValidation.min.js: 1: 22338) 
     At HTMLInputElement.dispatch (http: // localhost: 8000/js/jquery.min.js: 3: 10315) 
     At HTMLInputElement.q.handle (http: // localhost: 8000/js/jquery.min.js: 3: 8342) 

なぜ?

ビュー:

    <div id="ModalCrear" class="modal fade" role="dialog"> 
        <div class="modal-dialog"> 
         <div class="modal-content"> 
           <div class="modal-header"> 
            <h4 class="modal-tittle">Crear</h4> 
           </div> 
           <form class="form-horizontal" role="form" id="form-crear"> 
            <div class="modal-body"> 
              <div class="form-group"> 
               <label for="CrearNombre" class="control-label col-sm-2">Nombre: </label> 
               <div class="col-sm-10"> 
                <input type="text" class="form-control" id="CrearNombre" name="CrearNombre"> 
               </div> 
              </div> 
            </div> 

            <div class="modal-footer"> 
             <button type="button" class="btn btn-default" data-dismiss="modal"> 
              <span class="glyphicon glyphicon-remove"></span> Cerrar 
             </button> 
             <button type="button" id="Guardar" class="btn btn-primary" disabled="disabled"> 
              <span class="fa fa-save"> Guardar</span> 
             </button> 
            </div> 
           </form> 
         </div> 
        </div> 
       </div> 

のjQuery:

$('#form-crear').formValidation({ 
      framework: 'bootstrap', 
      icon: { 
       valid: 'glyphicon glyphicon-ok', 
       invalid: 'glyphicon glyphicon-remove', 
       validating: 'glyphicon glyphicon-refresh' 
      }, 
      fields: { 
       CrearNombre: { 
        validators: { 
         notEmpty: { 
          message: 'El campo Nombre es requerido' 
         }, 
         stringLength: { 
          min: 5, 
          max: 30, 
          message: 'El Nombre de 5 a 30 caracteres de largo' 
         }, 
         regexp: { 
          regexp: /^[a-zA-Z]+$/, 
          message: 'El Nombre solo puede contener letras' 
         }, 
         remote: { 
          message: 'El Cargo ya esta registrado', 
          url: "cargos/comprobacion", 
          type: "post", 
          async: true 
         } 
        } 
       } 
      } 
     }); 

コントローラー:

   $isAvailable = true; 
      if (Cargos::where('nombre', 'ilike', $req->get('CrearNombre'))->exists()) { 
       $isAvailable = true; 
      } else { 
       $isAvailable = false; 
      } 
      return \Response::json(array('valid' => $isAvailable)); 
+0

が、私はスペイン語を話す失敗で行われ、エラーで成功を置き換え、formvalidationコードを変更を使用しますスペイン語で "formvalidation"を使わないので、私は英語のフォーラムを使います。私は多くの英語を知らないので、私はGoogle翻訳を使用しています。しかし、私は間違いを解決する必要があります:( –

答えて

0

Uncaught TypeError: b.success is not a function

私はjsのコードをデバッグおよびbオブジェクトがjqXHRです見つけます。 JQuery 3.0以降、成功関数はありません。

The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are removed as of jQuery 3.0. You can use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead. from jquery.ajax

2つの解決策があります

  1. は、古いバージョンのjQuery(< 3.0)
+0

私は同じ問題を抱えています。私は両方の方法を試してみましたが、どちらも私のために働いていません。 – Albert

関連する問題