2017-05-08 53 views
0

我有一個用於檢查訪客的對話框。提交時,我想檢查數據庫是否存在值。我在構建驗證器時遇到了一些問題。Laravel使用數據庫驗證表單輸入

有兩張表。

table: visitor 
- id 
- name 
- signed_agreement 
- ... 

table: visit_type 
- id 
- name 
- require_agreement 

在提交表單時,我發送兩個值;訪客ID和visit_type ID。 如果visit_type require_agreement列等於1,訪問者的signed_agreement也應該是1.如果不是,驗證應該失敗。

有什麼建議嗎?

回答

0

您可以使用exists:table,column來檢查值是否存在於數據庫或不。您必須爲每個表&字段對添加不同的驗證。

+0

我知道這一部分,但我想檢查2個不屬於表單的字段。我如何檢查visit_type.require_agreement == 1和visitor.signed_agreement == 1 –

+0

它看起來與驗證無關。您應該將篩選器添加到您的Eloquent或Database查詢中。你是Laravel的新手嗎?如果我知道我可以更詳細地指導你。 –

+0

所以我應該讓表單驗證它是什麼,並在商店控制器中進行一些自定義驗證?創建一個visit_type/visitor關係,也許是它自己的方法; visitor-> hasSignedAgreement()? –