「formvalidation プラグイン」がリモート検証でバグをスローするのはなぜですか?
formvalidation 0.8.1、bootstrap 3、laravel 5.3 を使用してください。
「リモート」検証を使用すると、次のエラーが送信されます。
FormValidation.min.js: 4 Uncaught TypeError: b.success は関数ではありません f(http://localhost:8000/formValidation/formValidation.min.js:4:6021)で Object.validate(http://localhost:8000/formValidation/formValidation.min.js:4:6890)にて FormValidation.Framework.Bootstrap.validateField にて (http://localhost:8000/formValidation/formValidation.min.js:1:27660) HTMLInputElement で。(http://localhost:8000/formValidation/formValidation.min.js:1:11025) HTMLInputElement で。(http://localhost:8000/formValidation/formValidation.min.js:1:22338) HTMLInputElement.dispatch にて (http://localhost:8000/js/jquery.min.js:3:10315) 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));