如何在Laravel中验证用户的输入

时间:2018-10-08 19:33:45

标签: php laravel validation postman

我想使某些输入无效。我用store方法编写这些代码,但是当我在api上测试Postman时,给我500错误。例如,我不要在body标签中输入Body字段。 这是我控制器中的store函数。

 public function store(Request $request)
{
    $validation=$this->getValidationFactory()->make($request->all(),[
        'body'=>'required',
        'image'=>'required|mimes:jpeg,png'
    ]);
    if($validation->failed()){
        return response()->json(['message'=>'Invalid Input Data!'],400);
    }
    $article=new Article();
    $article->title=$request->title;
    $article->body=$request->body;
    $article->source=$request->source;
    if($article->save()){
        $article->categories()->sync($request->categories);
    }
    $name='article-'.$article->id.'.'.$request->file('image')->getClientOriginalExtension();
    $request->file('image')->move(public_path('images'),$name);
    $article->image= $name;
    $article->save();
    return response()->json(['message'=>'save successfully'],200);
}

这是用于创建article表的迁移文件。

 public function up()
{
    Schema::create('articles', function (Blueprint $table) {
        $table->increments('id');
        $table->string('title')->nullable();
        $table->text('body');
        $table->boolean('is_active')->default(0);
        $table->enum('status',['draft','completed','published'])->default('draft');
        $table->timestamps();
    });
}

这是Postman的屏幕截图。 Output Postman

1 个答案:

答案 0 :(得分:0)

哪种类型的输入正文以及在mysql表列中。