数据未保存在数据库中

Data isn't saved in Database

我正在尝试在数据库中保存国家名称。

单击按钮后,显示字段名称为空。

html:

<input type="text" class="form-control" name="country_name" placeholder="Country name">
                        @error('country_name')
                        <span class="text-danger">{{$message}}</span>
                        @enderror

控制器

public function store(Request $request)
   {
       $this->validate($request,[
        'name'=>'required|unique:divisions',
       ],
       [
           'name.unique' => 'Division Name Already Exists'
       ]);
       $divisions = new Division();
       $divisions->country_name = $request->country_name;
       $divisions->subcontinent_id = $request->subcontinent_id;
       $divisions->save();
        return back();
   }

型号

class Division extends Model
{
   protected $fillable = [
      'country_name', 'subcontinent_id'
  ];
   public function subcontinent()
   {
      return $this->belongsTo(Subcontinent::class);
   }

} 

我检查了三次拼写错误并尝试了不同的 html 格式。数据未保存。我很困惑为什么会这样。我是 eloquent.

的菜鸟

修改您的验证。由于我在您的输入中看不到 name,请将 name 更改为 country_name:

$this->validate($request,[
        'country_name'=>'required|unique:divisions',
       ],
       [
           'country_name.unique' => 'Division Name Already Exists'
       ]);

您的表单有一些错误,如果您想查看错误,您有多种选择,其中之一是在您的 blade 中添加以下代码以显示所有错误。

@foreach ($errors->all() as $error)
    <div>{{$error}}</div>
@endforeach

您输入的名称是 country_name 而不是名称,因此请在验证时更改它

'country_name'=>'required|unique:divisions',

而不是

'name'=>'required|unique:divisions',