É 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] <mailto:[email protected]>
Tel: (48) 8415 3555
2011/8/22 DS PHP Goias <[email protected]
<mailto:[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]
<mailto:[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] <mailto:[email protected]>
Tel: (48) 8415 3555 <tel:%2848%29%208415%203555>
2011/8/21 DS PHP Goias<[email protected]
<mailto:[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]
<mailto:[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]
<mailto:[email protected]>
<mailto:[email protected]
<mailto:[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:[email protected]><mailto:[email protected]
<mailto:[email protected]>>.
Para cancelar a inscrição nesse grupo,
envie um e-mail para
[email protected]
<mailto:kohana-php%[email protected]>
<mailto:kohana-php%[email protected]
<mailto:kohana-php%[email protected]>>.
Para obter mais opções, visite esse grupo em
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]
<mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie
um e-mail para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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]
<mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um
e-mail para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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]
<mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um e-mail
para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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]
<mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um e-mail
para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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]
<mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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]
<mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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] <mailto:[email protected]>.
Para cancelar a inscrição nesse grupo, envie um e-mail para
[email protected]
<mailto:kohana-php%[email protected]>.
Para obter mais opções, visite esse grupo em
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.