2016-07-22 42 views
0

我一直在閱讀Laravel驗證文檔。我不清楚如何結合兩條規則。Laravel驗證如果勾選複選框,那麼輸入文本是必需的?

例如:

<input type="checkbox" name="has_login" value="1"> 

<input type="text" name="pin" value=""> 

has_login如果複選框被打勾則需要輸入文本pin值。

如果has_login沒有打勾,則不需要輸入文本pin

Laravel驗證:

public function rules() 
{ 
    return [ 
      'has_login' => 'accepted', 
      'pin' => 'required', 
    ]; 
} 

回答

5

使用required_with或required_if

required_with:foo,bar

下驗證的字段必須存在並且非空只有如果任何其他指定的字段的存在。

return [ 
     'has_login' => 'sometimes', 
     'pin'  => 'required_with:has_login,on', 
]; 

-

required_if:anotherfield,value

下驗證的字段必須存在和不爲空,如果anotherfield字段等於任意值。

return [ 
     'has_login' => 'sometimes', 
     'pin'  => 'required_if:has_login,on', 
]; 

-

https://laravel.com/docs/5.2/validation

-

而且,如果該複選框has_login沒有被選中,也不會發送的形式提交的一部分

+0

要改善你的答案。您需要提供示例代碼,而不是從Doc中複製和粘貼。 –

+0

@ I'll-Be-Back added :) –

+0

不知道這種方法。謝謝。 – jaysingkar

相關問題