当我要在我的项目中注册时,我需要验证用户的昵称:
我的控制器
$inputData = Input::get('nickname');
parse_str($inputData);
$informacion = array('nickname' => $inputData);
$regla = array('nickname'=>'required|unique:usuarios|alpha_num|min:6|max:15');
if($request->ajax()){
$usuarios = Usuarios::Usuarios();
$validar = Validator::make($informacion,$regla);
if($validar->fails()){
return Response()->json(array(
'fail' => true,
'errors' => $validar->getMessageBag()->toArray()));
}
else{
return Response()->json(array('success' => true, "message" => "Nombre de Usuario Disponible"));
}
}
我的剧本
$( "#validar" ).click(function( event ) {
var dato = $('#nickname').val();
var route = $('#form-sign-up').attr('action');
var tipo = $('#form-sign-up').attr('method');
var token = $('#form-sign-up #token').val();
$.ajax({
url: route,
headers: {'X-CSRF-TOKEN': token},
type: tipo,
dataType: 'json',
data:{nickname: dato},})
.fail(function(data){
$('#nickname-msj').html(data.errors);
$('#nickname-msj').fadeIn();
})
.done(function(data) {
$('#nickname-msj').html(data.message);
$('#nickname-msj').fadeIn();
});
});
.done工作,但是。不会,我需要向我的用户显示这些信息,因为他们可以知道问题是什么,如果有人可以帮助我会很棒。
我正在使用Laravel 5.2
谢谢。
答案 0 :(得分:0)
使用与200
不同的代码触发Ajax的失败功能。所以你可以返回
if($validar->fails()) {
return response()->json($arrayHere, 400); //HTTP 400 error for bad request
}
所以,基本上在400
函数内部的数组之后添加json()
。如果您未指定代码,则默认为200
。
也许还会改变你的ajax请求?或者不是
$.ajax({
url: route,
headers: {'X-CSRF-TOKEN': token},
type: tipo,
dataType: 'json',
data:{
nickname: dato
},
success: function (data) {
console.log(data);
},
error: function (data) {
console.log('Error:', data);
}
});