gpt4 book ai didi

javascript - 如何在 Laravel 5.4 中验证 POST 数据?

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:07 26 4
gpt4 key购买 nike

我正在 Laravel 5.4 中测试 API。我现在正在通过 API 存储记录。我在如何使用 Request::input() 或 Input::get() 验证 POST 数据方面遇到了一些问题。

类(class) Controller .php

    <?php

namespace App\Http\Controllers;

use App\Http\Requests;
use App\Lesson;
use App\Acme\Transformers\LessonTransformer;
//use Illuminate\Http\Request;
use Illuminate\Support\Facades\Input;


use App\Http\Controllers\Controller;

class LessonsController extends ApiController
{

/**
* @var Acme\Transformers\LessonTransformer
*/
protected $lessonTransformer;

function __construct(LessonTransformer $lessonTransformer)
{
$this->lessonTransformer = $lessonTransformer;
// $this->middleware('sentry.auth')->only('post'); // basic level of protection for creating a lession
}


/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}

/**
* Store a newly created resource in storage.
* If we are using basic authentication, we should be using SSL
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store()
{

if( ! Input::get('title') || ! Input::get('body')){
return $this->setStatusCode(422)->respondWithError('Parameters failed validation for a lesson.');
}

Lesson::create($request->all());

return $this->respondCreated('Lesson successfully created.');

}

/**
* Display the specified resource.
*
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$lesson = Lesson::find($id);

if( ! $lesson) {

return $this->respondNotFound('Lesson does not exist');


}

return $this->respond([

'data' => $this->lessonTransformer->transform($lesson)

]);

}

}

当我使用 POST 请求通过 POSTMAN 测试上面的代码时。我收到提示“{"error":"Parameters failed validation for a lesson.","status_code":422}".我在尝试添加数据或未添加数据时收到错误消息。

您知道如何更正我的 store() 代码吗?感谢您的帮助。

最佳答案

要在 Laravel 中验证表单数据,只需使用“Laravel Form Requests”。这允许您使用 Laravel 的一些预定义验证规则来验证请求中的表单数据,如果需要,您还可以创建自定义 Laravel 验证逻辑。

根据 Laravel 文档:

Form requests are custom request classes that contain validation logic.

它将简化您的验证逻辑,使您的代码整洁并让您处理复杂的验证。

关于javascript - 如何在 Laravel 5.4 中验证 POST 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43384300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com