Laravel 5.7使用与模型属性不同的表单字段进行验证

时间:2018-09-22 15:17:04

标签: laravel

在以下情况下,我无法运行laravel验证。

我有一个表格,用户在此注册自己和他的公司(empresa)。

用户和经营者都具有'documento'属性,因此在形式上我将其称为人员文档为'cpf',对于公司文档为'documento_corp'。

问题是我需要检查这些是否已经注册。

我尝试了以下方法,但它给了我

  

找不到列:1054“ where子句”中的未知列“ documento_corp”(SQL:从empresas中选择count(*)作为汇总,其中documento_corp = 29242509000122和(documento = 29242509000122))

return Validator::make($data, [
        'name' => ['required', 'string', 'max:255'],
        'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
        'password' => ['required', 'string', 'min:6', 'confirmed'],
        'phone' => ['required', 'string', 'min:10', new Telefone],
        'cpf' => ['required', 'string', 'min:11', new Cpf],

        'name_corp' => ['required', 'string', 'max:255'],
        'email_corp' => ['required', 'string', 'email', 'max:255'],
        'phone_corp' => ['required', 'string', 'min:10', new Telefone],
        'documento_corp' => ['required', 'string', 'min:11', Rule::unique('empresas')->where(function($query) use ($data) {
            return $query->where('documento', $data['documento_corp']);
        }), new CpfOuCnpj],
        'cep_corp' => ['required', 'string', 'min:8'],
        'rua_corp' => ['required', 'string', 'min:5'],
        'uf_corp' => ['required', 'string', 'min:2', 'max:2'],
        'bairro_corp' => ['required', 'string', 'min:5'],
        'cidade_corp' => ['required', 'string', 'min:2'],
    ]);

那我该怎么做?

1 个答案:

答案 0 :(得分:1)

您不能只做#include<stdio.h> int main() { int n, *a, count = 0; scanf("%d",&n); a = (int*) malloc(n*sizeof(int)); for(int i = 0;i<n;i++) { scanf("%d",&a[i]); } for(int i = 0;i<n;i++) { for(int j = i;j<n;j++) { if(i!=j) { if(a[i] == a[j]) { count++; break; } } } } printf("%d",count); return 0; } 吗?

语法为: unique:table,column,except,idColumn