2017-05-08 70 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()? –