2017-06-28 39 views
0

我使用React Native创建了一个移动应用程序,并且我希望使用Laravel作为后端。我创建了一个注册页面,允许用户通过移动应用程序注册帐户。从React Native获得Laravel API的响应

当用户在移动应用程序上按下注册按钮。它会发送请求laravel并返回response.In我Register.js

async onRegisterPressed() { 
    try{ 
     let response= await fetch('http://127.0.0.1:8000/api/register',{ 
      method: 'POST', 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json' 
      }, 
      body: JSON.stringify({ 
       user:{ 
        name:this.state.name, 
        email:this.state.email, 
        password:this.state.password, 
        password_confirmation:this.state.password_confirmation, 
       } 
      }) 
     }); 

     let res= await response.text(); 
     console.log("res is" + res); 
    }catch(errors){ 

    } 
} 

但在我Laravel控制器。我不知道如何返回表单验证的响应。

我的API \ RegisterController

public function register(Request $request){ 
     $this->validate($request,[ 
      'name' => 'required|max:255|unique:users', 
      'email' => 'required|email|max:255|unique:users', 
      'password' => 'required|min:8|confirmed', 
      'gender'=>'required|bool' 
     ]); 
} 

那么如何让所有的错误,并返回其反应本土?它应该是JSON格式还是文本格式?希望你们可以给我一些提示,因为我只是学习反应原生。

+0

那是一个问题直接反应或Laravel?这很混乱。 'validate()'来自'ValidatesRequests'特性。你可以看看那个类,并重写'formatValidationErrors()'来适应你的需求或做别的事情。 –

+0

Hi @IvankaTodorova,你可以假设这是因为使用react native作为Frontend并使用Laravel作为后端。 – masterhunter

回答