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

朗德

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

我有一个表单,其中用户正在注册自己和他的公司(empresa)。

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

事情是我需要检查一下这些是否已经注册。

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

找不到列:1054'where子句'中的未知列'documento_corp'(SQL:选择count(*)作为empresaswhere 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'],
    ]);

那我该怎么做呢?

约翰·梅勒

你不能做unique:empresas,documento吗?

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章