Laravel字段验证后插入记录

问题描述 投票:0回答:1

我正在尝试Laravel 5.6请求验证。我遇到了几个问题

1。无法在视图中查看验证消息。

2。添加验证代码数据后,未插入数据库。(在添加验证之前,它可以工作)

3如何验证下拉菜单状态?(应选择有效/无效)

designation.blade.php

<form action="{{url('./designation/store')}}" method="POST">
      <div class="form-row">
        <div class="form-group col-md-7">
          <label for="inputDesignation">Designation</label>
          <input type="text" name="designation" class="form-control" id="inputDesignation">
        </div>
        <div class="form-group col-md-5">
          <label for="inputStatus_Designation">Status</label>
          <select name="status" id="inputStatus_Designation" class="form-control">
            <option selected>Select Status</option>
            <option >Active</option>
            <option >Inactive</option>
          </select>
        </div>
      </div>

      <button type="submit" class="btn btn-success" id="btn_add_designation">Add</button>
      {{ csrf_field() }}
  </form>

DesignationController.php

public function store(Request $request)
{
    //Validation the Data

    $validatedData = $request->validate([
        'designation_type' => ['required','max:255'],
        'status' => ['required'],
    ],
    [
        'designation_type.required' => 'Designation is required',
        'designation_type.max' => 'Designation should not be greater than 255 characters.',
    ]);

    //Data Insert into database
   $data =[
       'designation_type'=>$request->input('designation'),
       'status'=>$request->input('status')
   ];
   DB::table('designation')->insert($data);

   return redirect('/designation');
}

请帮助我解决这个问题!

php laravel validation laravel-5.6
1个回答
0
投票

尝试以下代码

public function store(Request $request)
{
    //Validation the Data

    $validatedData = $request->validate([
        'designation_type' => ['required','max:255'],
        'status' => ['required'],
    ],
    [
        'designation_type.required' => 'Designation is required',
        'designation_type.max' => 'Designation should not be greater than 255 characters.',
    ]);


    if($validatedData->fails()) {
      return Redirect::back()->withErrors($validatedData);
    }


    //Data Insert into database
   $data =[
       'designation_type'=>$request->input('designation'),
       'status'=>$request->input('status')
   ];
   DB::table('designation')->insert($data);

   return redirect('/designation');
}




<form action="{{url('./designation/store')}}" method="POST">
      <div class="form-row">
        <div class="form-group col-md-7">
          <label for="inputDesignation">Designation</label>
          <input type="text" name="designation" class="form-control" id="inputDesignation">
          @if($errors->has('designation'))
            <div class="error">{{ $errors->first('designation') }}</div>
        @endif
        </div>
        <div class="form-group col-md-5">
          <label for="inputStatus_Designation">Status</label>
          <select name="status" id="inputStatus_Designation" class="form-control">
            <option selected>Select Status</option>
            <option >Active</option>
            <option >Inactive</option>
          </select>
          @if($errors->has('status'))
            <div class="error">{{ $errors->first('status') }}</div>
        @endif
        </div>
      </div>

      <button type="submit" class="btn btn-success" id="btn_add_designation">Add</button>
      {{ csrf_field() }}
  </form>
© www.soinside.com 2019 - 2024. All rights reserved.