2016-06-12 16 views
0

我通过ajax对laravel的表单进行了验证。发送数据和验证工作正常,但是当接收到js代码中的答案时,成功函数从不执行;如果验证错误中存在错误,则执行验证功能并且如果验证功能中没有错误,则也输入错误。 错误时,它返回状态laravel:422,如果没有错误,返回laravel状态:200ajax在laravel验证后的成功函数

谢谢你的帮助,你可能能够提供:)

JS:

function send(event){ 

    event.preventDefault(); 

    $.ajax({ 


     type: 'post', 
     url: userAjax, 
     dataType: 'json', 
     data: { 
      name: $('#name').val(), 
      email: $('#email').val(), 
      password: $('#password').val(), 
      cpassword: $('#cpassword').val(), 
      _token: $('#new-user').attr('data-token') 
     }, 
     beforeSend: function() 
     { 
      $("#nameError").fadeOut(); 

     }, 
     success: function(errors){ 

      $('#Register').modal('hide'); 

     }, 
     error: function(errors) { 


      console.log(errors); 

     } 

    }); 

} 

laravel: UserController中:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 
use Validator; 
use App\Http\Controllers\Controller; 
use App\Http\Requests; 
use App\Http\Requests\UserRequest; 

class UserController extends Controller 
{ 
    public function index() 
    { 
     return view('home'); 
    } 
    public function NewUser(UserRequest $request) 
    { 
     // laravel will validate request itself automatically and 
     // will go on if validate pass or will return back with 
     // status code 422, input and errors otherwise 

     CreateNewUser($request); 

    } 

    Protected function CreateNewUser(Request $request){ 

    } 


} 

UserRequest:

<?php 

namespace App\Http\Requests; 

use App\Http\Requests\Request; 

class UserRequest extends Request 
{ 
    /** 
    * Determine if the user is authorized to make this request. 
    * 
    * @return bool 
    */ 
    public function authorize() 
    { 
     return true; 
    } 

    /** 
    * Get the validation rules that apply to the request. 
    * 
    * @return array 
    */ 
     public function rules() 
    { 
     return [ 
      'name' => 'required|max:255', 
//   'email' => 'required|email|max:255|unique:users', 
//   'password' => 'required|min:8|same:cpassword', 
//   'cpassword'=> 'required|min:8', 
     ]; 
    } 

} 

回答

0

这是因为你的代码存在错误。

CreateNewUser($request); 

有待

$this->CreateNewUser($request); 

而且

Protected function CreateNewUser(Request $request){ 

需求是:

protected function CreateNewUser(Request $request){ 
+0

喜@Ohgodwhy,谢谢你纠正错误,但功能创建新用户在验证后运行。我纠正并做了测试,但仍然进入了错误ajax函数。 –