2016-06-12 9 views
0

larvelからajaxまでのフォームの検証を行いました。データと検証作業は適切に送信されますが、jsコード内の応答が受信されると、success関数は決して実行されません。検証エラーにエラーがある場合、エラー機能が実行され、検証機能にエラーがない場合はエラーにもなります。エラーの 、それはステータスlaravelを返し:422及び場合はエラーなし、laravelステータスを返す:200larvelで検証した後のajaxの成功関数

は、あなたが提供することができるかもしれない助けてくれてありがとう:)

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関数に入っています。 –

関連する問題