Select 元素未显示 Laravel 验证错误

Select element not displaying Laravel vaildation errors

在我有一个带选项的 select 元素之前我从来没有遇到过这个问题,在我的控制器中我将它设置为必需的并且由于某种原因验证错误不显示有错误 class 没有'甚至添加到 form-group

html 和 blade

<div class="form-group {{ $errors->has('Test') ? 'has-error' : ''}}">
       <label for="Return_Type">Return Type <span class="request-alert"></span></label>
         <select name="Test" id="Return_Type" class="form-control">
              <option>Choose One...</option>
                  @foreach($categories as $category)
                     <option value="{{ $category->id }}">{{ $category->name }}</option>
                  @endforeach
          </select>
          @if($errors->has('Test'))
             <span class="help-block">
                  {{ $errors->first('Test') }}
             </span>
           @endif
</div>

控制器

 $this->validate($request, [
            'First_Name'    => 'required',
            'Last_Name'     => 'required',
            'Email'         => 'required',
            'Phone'         => 'required',
            'Fax'                        ,
            'Company'                    ,
            'Marketplace'   => 'required',
            'Order_Number'  => 'required',
            'Address_1'     => 'required',
            'Address_2'                  ,
            'City'          => 'required',
            'State'         => 'required',
            'Zip_Code'      => 'required',
            'Test'          => 'required',
            'Product_Name'  => 'required',
            'Quantity'      => 'required',
            'SKU'           => 'required',
        ]);

首先从validate中删除fax,company,address2属性,添加 在属性测试中 'Test' => 'required|exists:Test,id'

您需要在第一个 select 选项中添加 ==> value="",即

<option value="">Choose One...</option>

所以将您的 select 表单部分更改为

<div class="form-group {{ $errors->has('Test') ? 'has-error' : ''}}">
   <label for="Return_Type">Return Type <span class="request-alert"></span></label>
     <select name="Test" id="Return_Type" class="form-control">
          <option value="">Choose One...</option>
              @foreach($categories as $category)
                 <option value="{{ $category->id }}">{{ $category->name }}</option>
              @endforeach
      </select>
      @if($errors->has('Test'))
         <span class="help-block">
              {{ $errors->first('Test') }}
         </span>
       @endif

希望对您有所帮助:)