É por causa do merge...

Tipo post vai vir:
'campo-1','campo-2','campo-3'

que vc está validando, já no files, vai vir vários outros campos, se tu
tiver só um campo fixo, blza tipo 'meu-upload' senão ele vai validar só um
campo e outros files que vier não vão participar da tua validação pq são
fields não especificados, dai tu tens que filtrar quais fields tu quer
passando por uma array como segundo parametro do teu values.

Ou tu joga todos os teus files dentro de uma array em vez de dar merge que
nem eu falei, ai podes validar multiplos arquivos como se estivessem em um
só field:

$_POST['meus-uploads'] = $_FILES

e faz uma regra de validação pra 'meus-uploads' que é uma array de arquivos.

Abraço,
Gabriel R. Giannattasio
[email protected]
Tel: (48) 8415 3555


2011/8/22 DS PHP Goias <[email protected]>

> o formato array_merge($_POST,$_FILES) funciona....
> o que não funciona...
>
> é a RULE para FILES que implemento junto com as RULES do POST...
>
> no model, tenho o método rules(){} que retorna o array
> ... "arquivo" => array( ' Upload::valid ' ),
>
> ai dá erro...fica dizendo que o parametro é esperado e deve ser um
> array...algo do genero...
>
> acredito que não to conseguindo setar o tipo de validação apenas...
>
> Em 22/08/2011 08:03, Newton Wagner escreveu:
>
>  Você pode estender a classe Validation e criar a sua File_Validation,
>> ou Validation_File.
>>
>> Nela você coloca os métodos necessários pra tratar os arquivos vindos de
>> $_FILE.
>>
>>
>>
>> 2011/8/21 DS PHP Goias<[email protected].**br<[email protected]>
>> >:
>>
>>> vou ver o que consigo aqui...
>>>
>>> obrigado pelo retorno,
>>> Giovanni Donda
>>>
>>> Em 21/08/2011 20:34, Gabriel Reitz Giannattasio escreveu:
>>>
>>> Faz um validation pra array do tipo file cara, dai cria uma critéria
>>> personalizada e em vez de mesclar files com os outros campos, trata no
>>> teu
>>> model files como uma propriedade a ser validada.
>>> Dai tu cria as regras, tipo tem que ser uma array maior que zero, faz um
>>> array_walk que valide o campo x como not_empty, o campo mime, com os
>>> tipos
>>> delcarados em um config, e por ai vai.
>>> Abraço,
>>> Gabriel R. Giannattasio
>>> [email protected]
>>> Tel: (48) 8415 3555
>>>
>>>
>>> 2011/8/21 DS PHP 
>>> Goias<[email protected].**br<[email protected]>
>>> >
>>>
>>>> então não consigo mesclar a validação para ambos ao mesmo tempo ????
>>>> como seria a boa pratica para fazer essa validação então, podem me
>>>> ajudar
>>>> ???
>>>>
>>>> Grato
>>>>
>>>> Em 21/08/2011 15:12, felipe moraes escreveu:
>>>>
>>>> É que $_FILE['campo'] é um array .. entao o validation factory teria de
>>>> ser sobre ele ..
>>>>
>>>> Em 21/08/2011 15:08, "DS PHP 
>>>> Goias"<[email protected].**br<[email protected]>>
>>>>  escreveu:
>>>>
>>>>> Entendi...
>>>>> na realidade, o cliente quer o envio de arquivo livre...
>>>>> então no caso, so preciso dizer que é obrigatorio, ou seja, not_empty
>>>>>
>>>>> mas no ko3.2 não rola....
>>>>> pois faço a validação no model....
>>>>>
>>>>> para os demais campos funciona...
>>>>> mas para $_FILES não....
>>>>>
>>>>> mais alguem já passou por essa situação ???
>>>>>
>>>>> abraços,
>>>>> Giovanni Donda
>>>>>
>>>>> Em 21/08/2011 14:40, felipe moraes escreveu:
>>>>>
>>>>>> Nunca validei upload pelo validation ..
>>>>>>
>>>>>> Digamos que ..
>>>>>>
>>>>>> $file atribuicao Validation::factory($_FILE);
>>>>>> $file-rule('nomedocampo', 'not_empty')
>>>>>> $file-rule('nomedocampo', 'Model::validaUploadArquivo');
>>>>>> If($file-check())
>>>>>>
>>>>>> Seria interessante validar o mime no model.
>>>>>>
>>>>>> Mas nem sei se esse tipo de validação é possível.
>>>>>>
>>>>>> Enviado pelo celular.
>>>>>>
>>>>>> Em 21/08/2011 12:30, "DS PHP 
>>>>>> Goias"<[email protected].**br<[email protected]>
>>>>>> <mailto:phpgo@dsinterativa.**com.br <[email protected]>>>
>>>>>>  escreveu:
>>>>>>
>>>>>>> Pessoal,
>>>>>>> estou tentando fazer uma validação de formulario onde existe um campo
>>>>>>> para um arquivo(fotografia)
>>>>>>>
>>>>>>> o codigo está em:
>>>>>>> http://pastebin.com/nVhqBMGs
>>>>>>>
>>>>>>> 1 - tentei juntar a validação do post com files assim
>>>>>>> $post=$oEquipe->where('id', '=',
>>>>>>> $id)->values(array_merge($_**POST,$_FILES)); // linha 23
>>>>>>>
>>>>>>> 2- no model, tentei validar assim
>>>>>>> 'arquivo'=>array(
>>>>>>> array('not_empty',array(":**value","Upload::image","**arquivo"))) //
>>>>>>>
>>>>>> linha 14
>>>>>>
>>>>>>> 3- não soube como habilita o texto do erro no arquivo
>>>>>>>
>>>>>>> alguem poderia me ajudar ???
>>>>>>>
>>>>>>> Grato,
>>>>>>> Giovanni Donda
>>>>>>>
>>>>>>> --
>>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo
>>>>>>>
>>>>>> "Kohana Php" dos Grupos do Google.
>>>>>>
>>>>>>> Para postar neste grupo, envie um e-mail para
>>>>>>>
>>>>>> [email protected]<**mailto:kohana-php@**googlegroups.com<[email protected]>
>>>>>> >.
>>>>>>
>>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>>>>>
>>>>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>>>>> <mailto:kohana-php%**[email protected]<kohana-php%[email protected]>
>>>>>> **>.
>>>>>>
>>>>>>> Para obter mais opções, visite esse grupo em
>>>>>>>
>>>>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>>>>> .
>>>>>> --
>>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>>>> Php" dos Grupos do Google.
>>>>>> Para postar neste grupo, envie um e-mail para
>>>>>> [email protected].
>>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>>>>> .
>>>>>> Para obter mais opções, visite esse grupo em
>>>>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>>>>> .
>>>>>>
>>>>> --
>>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>>> Php" dos Grupos do Google.
>>>>> Para postar neste grupo, envie um e-mail para
>>>>> [email protected].
>>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>>>> .
>>>>> Para obter mais opções, visite esse grupo em
>>>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>>>> .
>>>>>
>>>>>  --
>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>> Php" dos Grupos do Google.
>>>> Para postar neste grupo, envie um e-mail para
>>>> [email protected].
>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>>> .
>>>> Para obter mais opções, visite esse grupo em
>>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>>> .
>>>>
>>>> --
>>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>>> Php" dos Grupos do Google.
>>>> Para postar neste grupo, envie um e-mail para
>>>> [email protected].
>>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>>> .
>>>> Para obter mais opções, visite esse grupo em
>>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>>> .
>>>>
>>> --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php"
>>> dos Grupos do Google.
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>> .
>>> Para obter mais opções, visite esse grupo em
>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>> .
>>>
>>> --
>>> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana
>>> Php"
>>> dos Grupos do Google.
>>> Para postar neste grupo, envie um e-mail para
>>> [email protected].
>>> Para cancelar a inscrição nesse grupo, envie um e-mail para
>>> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
>>> .
>>> Para obter mais opções, visite esse grupo em
>>> http://groups.google.com/**group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
>>> .
>>>
>>>
>>
>>
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php"
> dos Grupos do Google.
> Para postar neste grupo, envie um e-mail para [email protected].
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> kohana-php+unsubscribe@**googlegroups.com<kohana-php%[email protected]>
> .
> Para obter mais opções, visite esse grupo em http://groups.google.com/**
> group/kohana-php?hl=pt-BR<http://groups.google.com/group/kohana-php?hl=pt-BR>
> .
>
>

-- 
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos 
Grupos do Google.
Para postar neste grupo, envie um e-mail para [email protected].
Para cancelar a inscrição nesse grupo, envie um e-mail para 
[email protected].
Para obter mais opções, visite esse grupo em 
http://groups.google.com/group/kohana-php?hl=pt-BR.

Responder a