tiujhou 7 Denunciar post Postado Março 11, 2015 Boa tarde... Estou fazendo uma classe de validação... Dai surgiu a seguinte dúvida... como faria para validar uma variável que seja nula... Pois eu utilizo o método post... daí digamos que um checkbox esteja desmarcado... a varíavel não vá existir... eu não gostaria de fazer o seguinte: $var_check = (isset($_POST['check'])) ? $_POST['check'] : "Não existe" ; Aí chamo minha classe: if($_POST){ if($var_check != "Não existe" ){ var_dump($val->set($_POST['check'], "E-mail Login", true)->set_empty()); } } Entende, se eu setar post diretamente $_POST['check'] e essa variável não existe, vai dar erro no código: Notice: Undefined index: check in C:\wamp\www\ Mas, se eu validar antes com Isset, não vai dar erro.... Mas eu gostaria de fazer essa validação com a classe, e não utilizando uma condição antes da classe.... Será que é possível fazer isso, validar dentro da classe, e não antes?? Compartilhar este post Link para o post Compartilhar em outros sites
marsolim 110 Denunciar post Postado Março 12, 2015 não entendi bem. se você precisa verificar a existência de um valor essa é a melhor maneira. Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Março 12, 2015 Se entendi, segue um exemplo breve e muito simples. <?php Class blabla { public $campo; public function Verif($campo) { $email_ok = (isset($campo) and !empty($campo)) ? $this->campo=$campo : 'Informe um email.'; print $email_ok; } } $validar = new blabla; if($_SERVER['REQUEST_METHOD']=='POST') { $validar->Verif($_POST['email']); } ?> <form name="blabla" method="POST" action=""> Email: <input type="text" name="email" id="email"> <input type="submit"> </form> Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
ExtremsX 58 Denunciar post Postado Março 12, 2015 Se for para verificar se é NULO vc pdoe usar: is_null() ou $var === null Compartilhar este post Link para o post Compartilhar em outros sites
tiujhou 7 Denunciar post Postado Março 12, 2015 Bom dia Alaerte, a maneira que que fiz era muito semelhante a sua... Mas o problema é, seu eu trocar: $validar->Verif($_POST['carro']);Não vai ter essa varíavel... o php vai gerar um erro... A classe vai validar, vai dizer que não existe, mas ela vai mostrar o erro... Para esse erro não acontecer... eu teria que validar anteriormente com php, assim: if(isset($_POST['email'])){ $validar->Verif($_POST['email']); }Digamos um checkbox não marcado: <input type="checkbox" name="email" id="email">Ele vai gerar erro se eu não checar antes de chamar o método... como demostrado acima: O que eu gostaria de saber se é possível, é anular esse determinado erro esse erro do ISSET, quando utilzado no método, retornar o próprio erro da classe, sem mostrar o erro do php... entende.. apenas o erro ISSET, quando chamado no método... <?php error_reporting(0); ini_set(“display_errors”, 0 ); ?> Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 12, 2015 Não vá por esse caminho "anular erros" não é uma boa idéia. Vc deve conviver com eles e corrigi-los e não escondê-los em desenvolvimento. Você testou o código proposto ? deu mesmo o referido erro ? O que eu costumo fazer é ter uma função global para o GET e outra para o POST. Mais ou menos assim: $campo = getPost('email');e ai nessa função getPost: function getPost($key) { return isset($_POST[$key]) ? $_POST[$key]: ''; }Ou seja, dentro da aplicação, eu nunca utilizo $_POST ou $_GET e sim sempre a função que resolve eles para mim. Compartilhar este post Link para o post Compartilhar em outros sites
tiujhou 7 Denunciar post Postado Março 12, 2015 Bom dia Bruno, a ideia para eu fazer o que quero, tenho total certeza que é essa... daí é só separar GET de POST , CONST, e uma váriavel não global e utilizar... Até mais... Compartilhar este post Link para o post Compartilhar em outros sites