Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在控制器的store()中使用$this=validate()验证laravel中的表单_Php_Laravel - Fatal编程技术网

Php 如何在控制器的store()中使用$this=validate()验证laravel中的表单

Php 如何在控制器的store()中使用$this=validate()验证laravel中的表单,php,laravel,Php,Laravel,我已经写了一个代码,但我想它不起作用 给定的代码写在控制器中: public function store( Request $request ) { $this -> validate( $request, [ 'name' => 'required' , 'status' => 'required', 'create

我已经写了一个代码,但我想它不起作用

给定的代码写在控制器中:

public function store( Request $request )
{   
    $this -> validate( $request,
                       [ 'name' => 'required' ,
                         'status' => 'required',
                         'created_at' => 'required',
                         'created_by' => 'required',
                         'modified_at' => 'required',
                         'updated_by' => 'required' ] ); 

    if ( request( 'status' ) === 'on' )
    {
        $status = 1;
        # code...
    }
    else
    {
        $status = 0;
    }

    CategoryDetail::Create( [ 'name' => request( 'name' ),
                              'status' => $status,
                              'created_at' => request( 'created_at' ),
                              'created_by' => request( 'created_by' ),
                              'updated_at' => request( 'modified_at' ),
                              'updated_by' => request( 'modified_by' ) ] );
    \Session::flash( 'create',
                     'inserted successfully' );

    return redirect( 'category/list' ); 
}
没有异常错误。我只想知道当一个字段留空或为空时如何显示消息

这是我的create.blade.php

@extends( 'adminlte::page' )
@section( 'content' )
<!DOCTYPE html>

<html>
    <head>
        <title>Create</title>
    </head>

    <body>
        <div class = "box box-info">
            <form class = "box-body form-group"
                  method = "POST" action="/category/store">
                Name:<input type = "text"
                            class = "form-control"
                            name = "name"><br>
                Status:<input type = "checkbox"
                              name = "status"><br>
                Created at:<input type = "date"
                                  name = "created_at"><br>
                Created by:<input type = "number"
                                  class = "form-control"
                                  name = "created_by"><br>
                Modified at:<input type = "date"
                                   name = "modified_at"><br>
                Modified by:<input type = "number"
                                   class = "form-control"
                                   name = "modified_by"><br>
                <input type = "submit"
                       value = "create"
                       name = "Create"><br>
                    {{csrf_field()}}
                    {{method_field('PUT')}}
            </form>
        </div>
    </body>
</html>
@endsection

您可以通过以下方式在视图中获取错误信息:

@if (count($errors) > 0)
                        <div class="alert alert-danger alert-dismissable mb30 rtl yekan">
                            <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
                            <ul class="list">
                                @foreach($errors->all() as $err)
                                    <li class="liste-item">{{ $err }}</li>
                                @endforeach
                            </ul>
                        </div>
@endif

如果没有例外,那么验证成功了,对吗?通常,如果验证失败,则会创建一个重定向响应,其中错误会在会话中闪烁。因此,如果在默认重定向位置呈现错误,您应该会看到这些错误,但我希望看到这些消息,因为我不知道我的代码是否有效。在/category/list视图中,您需要有一个呈现消息的位置。检查如何渲染错误。您还需要检查session::是否也有“create”并呈现该消息