2017-08-31 72 views
2

我的觀點刀片這樣的:爲什麼驗證兩個複選框在一個表單不工作laravel?

... 
<div class="checkbox"> 
    <label> 
     {{Form::checkbox('is_anonymous', 1, false)}} As anonymous 
    </label> 
    @if ($errors->has('is_anonymous')) 
     <div class="help-block"> 
      <strong>{{ $errors->first('is_anonymous') }}</strong> 
     </div> 
    @endif 
</div> 
<div class="checkbox"> 
    <label> 
     {{Form::checkbox('term', 1, false, array('id'=>'term'))}} I aggree 
    </label> 
    @if ($errors->has('term')) 
     <div class="help-block"> 
      <strong>{{ $errors->first('term') }}</strong> 
     </div> 
    @endif 
</div> 

我的驗證這樣的:

public function rules() 
{ 
    return [ 
     'is_anonymous' =>'required', 
     'term' =>'required' 
     ... 
    ]; 
} 

如果代碼執行,驗證不行

似乎沒有消息。無論在複選框上,驗證過程是不同的?

我該如何解決這個問題?

+0

請點擊此鏈接(https://stackoverflow.com/questions/37345363/laravel-validation-checkbox)希望這對你的工作 –

+0

@AddWeb解決方案私人有限公司,我看到該鏈接。但它沒有幫助我。我的問題是我有2複選框 –

+0

等待我會檢查它 –

回答

0

我遇到了這個問題。我認爲這是因爲當複選框未被選中時,它不會包含在請求中。如果未包含在請求中,Laravel將不會嘗試驗證它。

我的解決方案是在實際複選框之前添加一個帶有默認值的隱藏輸入。

{{Form::hidden('term', false)}} 
{{Form::checkbox('term', 1, false, array('id'=>'term'))}} I aggree 

這是關於此行爲的related question

0

在處理複選框時,您可以用accepted代替required規則。

由於從文檔中指出:

下驗證的領域一定是肯定的,對,1,或真。這對於驗證「服務條款」接受是有用的 。

相關問題