Laravel 5.7使用不同于模型属性的表单字段进行验证
我在以下情况下运行laravel验证时遇到问题 我有一个表单,用户在其中注册自己和他的公司(empresa) 用户和empresa都有“documento”属性,因此在表单中,我将persons文档称为“cpf”,将公司文档称为“documento_corp” 问题是我需要检查这些是否已经注册 我尝试了以下方法,但它给了我 未找到列:“where子句”中的1054未知列“documento_corp”(SQL:选择count(*)作为来自Laravel 5.7使用不同于模型属性的表单字段进行验证,laravel,Laravel,我在以下情况下运行laravel验证时遇到问题 我有一个表单,用户在其中注册自己和他的公司(empresa) 用户和empresa都有“documento”属性,因此在表单中,我将persons文档称为“cpf”,将公司文档称为“documento_corp” 问题是我需要检查这些是否已经注册 我尝试了以下方法,但它给了我 未找到列:“where子句”中的1054未知列“documento_corp”(SQL:选择count(*)作为来自empresaswheredocumento_corp=2
empresas
wheredocumento_corp
=29242509000122和(documento
=29242509000122)的聚合)
那我该怎么做呢?你就不能只做
独特的:empresas,documento
语法为:unique:table、column、except、idColumn。谢谢
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'],
]);