Laravel-如何删除Laravel中的空白

Laravel-如何删除Laravel中的空白,laravel,Laravel,我有这个Laravel-5.8代码 请求规则 'designation_name' => [ 'required', 'string', 'min:5', 'max:300', ], 控制器 public function store(StoreDesignationRequest $reques

我有这个Laravel-5.8代码

请求规则

        'designation_name' => [
             'required', 
             'string',
             'min:5',
             'max:300',                            
        ],
控制器

public function store(StoreDesignationRequest $request)
{
    if (! Gate::allows('designation_create')) {
        return abort(401);
    }
    try {
            $designation = HrDesignation::create([
                'designation_name'      => $request->designation_name,
                'description'           => $request->description,
            ]);
            Session::flash('success', 'Designation is created successfully');
            return redirect()->route('hr.designations.index');
    } catch (Exception $exception) {
            Session::flash('danger', 'Designation creation failed!');
            return redirect()->route('hr.designations.index');
    }
}
看法

并在提交前或提交时删除空白


谢谢。

请记住,有两种不同的空白类型:

  • 如果您想删除一个普通的空格字符,并使 整个句子作为一个单词,您可以使用
    str\u replace

    str\u replace(“”,,$request->designation\u name)

  • 如果要删除包括选项卡空间在内的所有空白,则可以使用
    preg\u replace
    preg\u replace('/\s+/','$request->designation\u name)

  • 如果要删除句子或单词开头和结尾的空白,可以使用
    trim


  • trim('$request->designation\u name)

    Laravel>=5.4默认情况下不会在请求的所有传入字符串字段中输入修剪,除非您在
    $except
    中间件类的
    数组中列出异常输入

    通过检查
    App\Http\Kernel
    类的
    $Middleware
    属性,确保应用程序的中间件堆栈中包含
    \App\Http\Middleware\TrimStrings::class

    namespace-App\Http;
    使用lightize\Foundation\Http\Kernel作为HttpKernel;
    类内核扩展了HttpKernel
    {
    /**
    *应用程序的全局HTTP中间件堆栈。
    *
    *这些中间件在应用程序的每个请求期间运行。
    *
    *@var数组
    */
    受保护的$中间件=[
    //...
    \App\Http\Middleware\TrimStrings::class,
    //...
    ];
    //...
    }
    

    有关更多信息,请参见Laravel文档上的。

    您设置了验证
    max:300
    max 300字符300是字符,而不是单词。如果需要字数统计,则需要自定义验证规则。还要注意多字节字符,如表情符号。它们可能会产生误导。我使用的是Laravel-5.8。TrimStrings是include,但错误仍然存在:protected$middleware=[\App\Http\Middleware\TrustProxies::class\App\Http\Middleware\CheckFormIntenanceMode::class\Illumb\Foundation\Http\Middleware\ValidatePostSize::class\App\Http\Middleware\TrimStrings::class\Illumb\Foundation\Http\Middleware\ConvertEmptyStringsToull::class,]@mikefolu所以您的输入长度超过300个字符,这与修剪无关。请发布您的示例输入和您得到的错误。
              <div class="col-sm-6">
                <div class="form-group">
                    <label>Designation<span style="color:red;">*</span></label>
                   <input  type="text" name="designation_name" placeholder="Enter designation here" class="form-control" value="{{old('designation_name')}}">
                </div>
              </div>
                
              <div class="col-sm-6">
                <div class="form-group">
                    <label>Description</label>
                   <input  type="text" name="description" placeholder="Enter description here" class="form-control" value="{{old('description')}}">
                </div>
              </div>                
    
    
           </div>
         </div>
        </div>          
        <!-- /.card-body -->
        <div class="card-footer">
                <button type="submit" id="submit_create" class="btn btn-primary">{{ trans('global.save') }}</button>
                <button type="button" onclick="window.location.href='{{route('hr.designations.index')}}'" class="btn btn-default">Cancel</button>
        </div>    
    
    > designation_name