Ir para conteúdo
Dr. Programador

Validação do Formulário com Codeigniter

Recommended Posts

Boa tarde, pessoal!

 

Gostaria de saber se tem como validar o formulário com o Codeigniter para quando um usuário digitar caracteres não utilizados em um e-mail válido, incluindo o @, o codeigniter possa acusar?

 

Tentei utilizar o valid_email, mas ainda sim, ele aceita caracteres não permitidos para e-mail válidos, somente exigindo que o usuário digite o @.

 

Porém, eu não quero que o usuário digite caracteres inválidos para e-mail inclusive o @.

 

$this->form_validation->set_rules('email', 'E-mail</b>', 'trim|required|valid_email');

 

OBS: Estou tentando fazer igual o formulário do google (criar novo e-mail), onde ele só existe o nome sem o @.

 

 

Desde já agradeço pela ajuda!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por DanielMuniz
      Boa tarde, tenho uma duvida simples.
      Carrego 4 views de uma vez na função. Tem como criar um tipo de "atalho" e carregar tudo de uma vez?? 
          public function index()     {         $data['elements'] = $this->main->get_elements();         $this->load->view("main.php", $data);         $this->load->view("header.php");         $this->load->view("footer.php");         $this->load->view("table.php");     }
    • Por JOSELUISALD
      Bom dia. Galera, estou com um problema e não consigo resolver. Estou desenvolvendo um sistema, e tenho um prazo de entrega, porem travei na paginação de resultados. Se ser com pesquisa funciona normalmente porem quando eu pesquiso algo (utilizo 4 atributos de pesquisa) a segunda pagina não carrega a pesquisa, ela reseta e lista tudo. Estou passando via get.
       
      Controler:
      public function paginacao($url, $total_results, $per_page) { $this->load->library('pagination'); $config['base_url'] = $url; $config['total_rows'] = $total_results; $config['per_page'] = $per_page; $cofig['page_query_srting'] = TRUE; $config['next_link'] = 'Próxima'; $config['prev_link'] = 'Anterior'; $config['full_tag_open'] = '<ul class="pagination justify-content-end">'; $config['full_tag_close'] = '</ul>'; $config['num_tag_open'] = '<li>'; $config['num_tag_close'] = '</li>'; $config['cur_tag_open'] = '<li class="page-item active"><a class="page-link" href="#">'; $config['cur_tag_close'] = '<span class="sr-only">(current)</span></a></li>'; $config['prev_tag_open'] = '<li class="prev">'; $config['prev_tag_close'] = '</li>'; $config['next_tag_open'] = '<li>'; $config['next_tag_close'] = '</li>'; $config['first_link'] = 'Primeira'; $config['attributes'] = array('class' => 'page-link'); $config['last_link'] = 'Última'; $config['first_tag_open'] = '<li>'; $config['first_tag_close'] = '</li>'; $config['last_tag_open'] = '<li>'; $config['last_tag_close'] = '</li>'; $this->pagination->initialize($config); } public function search()     {             $getData = $this->input->get();         $search = array         (             'codigo' => isset($getData['funcionario_codigo']) ? 'funcionario_codigo='.$getData['funcionario_codigo'] : 'funcionario_codigo=',             'nome' => isset($getData['funcionario_nome']) ? 'funcionario_nome='.$getData['funcionario_nome'] : 'funcionario_nome=',             'empresa' => isset($getData['funcionario_empresa']) ? 'funcionario_empresa='.$getData['funcionario_empresa'] : 'funcionario_empresa=',             'situacao' => isset($getData['funcionario_situacao']) ? 'funcionario_situacao='.$getData['funcionario_situacao'] : 'funcionario_situacao=',             'per_page' => isset($getData['per_page']) ? 'per_page='.$getData['per_page'] : 'per_page='         );         $total_rows = $this->funcionario_model->count('funcionario');         $url = base_url().'funcionario/search?'.$search['per_page'].'&'.$search['codigo'].'&'.$search['nome'].'&'.$search['empresa'].'&'.$search['situacao'];         $this->paginacao($url, $total_rows, $getData['per_page']);         $inicio = ($getData['per_page'] != NULL) ? $getData['per_page'] : '0';     $data  = array         (             'title' => 'Listar Funcionários',             'control' => 'funcionario',             'results' => $this->funcionario_model->search($getData,  $getData['per_page'], $inicio),             'pagination' => $this->pagination->create_links(),             'total_rows' => $total_rows,             );         $this->load->view('frame/cabecalho');         $this->load->view('frame/navegacao');         $this->load->view('funcionario/listar', $data);     } Model:
       
      public function search($postData = null, $limit = null, $offset = null)     {         $this->db->select('Funcionario.funcionario_Nome, Funcionario.CodFuncionario, Funcionario.funcionario_Ativo, Empresa.empresa_Nome, Empresa.CodEmpresa');         $this->db->from($this->table);         $this->db->join('Empresa','Empresa.CodEmpresa = Funcionario.CodEmpresa');             if($postData['funcionario_codigo'] != '')             {                 $this->db->where('CodFuncionario', $postData['funcionario_codigo']);             }             if($postData['funcionario_nome'] != '')             {                 $this->db->like('funcionario_Nome', $postData['funcionario_nome']);                  }             if($postData['funcionario_empresa'] != '')             {                 $this->db->like('Empresa.empresa_Nome', $postData['funcionario_empresa']);             }                              if($postData['funcionario_situacao'] != 'all')             {                 $this->db->like('funcionario_Ativo', $postData['funcionario_situacao']);             }                                     $this->db->limit($offset, $limit);                         return $this->db->get()->result();     }  
    • Por sol25lua
      Preciso calcular o valor de um serviço de um projeto de petshop, onde é necessário informar os dados: id_porte (pequeno, médio, grande), id_categoria_animal (cachorro, gato), e qual o serviço(banho, tosa ou banho com tosa), pois os valores variam de acordo com o porte do animal, categoria e o serviço solicitado. porém as informações id_categoria_animal e id_porte ja vem preenchidas no formulario quando na pagina anterior é digitado o CPF do cliente, então quando é selecionado o serviço em um campo select, automaticamente o valor carrega, porém não esta dando certo e não encontrei o erro, estou utilizando o framework codeigniter.
      Este é o controller:
       
      Class Consulta_cpf extends CI_Controller{ function __construct(){ parent::__construct(); $this->load->helper('form'); $this->load->library('form_validation'); $this->load->model('cliente/dados_cliente', 'dados');
      $this->load->helper('date');
      }
      public function index(){ $this->form_validation->set_rules('cpf', 'CPF', 'required|trim|exact_length[11]|numeric'); //VERIFICA SE AS REGRAS COM O CPF DIGITADO FORAM EXECUTADAS. if($this->form_validation->run() == FALSE){ if(validation_errors()){ die('<p> <a href="'.base_url('agendar_servico').'"> Clique aqui </a> para voltar </p>'.validation_errors()); } } if(isset($_POST['acao']) && $_POST['acao'] == 'Pesquisar >>'){ $cpf = $this->input->post('cpf'); //VERIFICA SE O CPF DO CLIENTE EXISTE NO BANCO DE DADOS. try { $pessoa = $this->dados->select_nome_pessoa($cpf); } catch (Exception $e) { die('<p> <a href="'.base_url('agendar_servico').'"> Clique aqui </a> para voltar</p>'.$e->getMessage()); } $id_pessoa = $pessoa['id_pessoa']; $id_cliente = $this->dados->select_id_cliente($id_pessoa); $animal = $this->dados->select_animal($id_cliente); $dados['nome_cliente'] = $pessoa['nome_pessoa']; $dados['id_cliente'] = $this->dados->select_id_cliente($id_pessoa); $dados['id_animal'] = $animal['id_animal']; $dados['nome_animal'] = $animal['nome_animal']; $dados['id_cat_animal'] = $animal['id_cat_animal']; $dados['nome_cat_animal'] = $animal['nome_cat_animal']; $dados['id_porte'] = $animal['id_porte']; $dados['nome_porte'] = $animal['nome_porte']; $dados['idade'] = $this->dados->select_idade($animal['data_nasc_animal']); $dados['data'] = $this->dados->select_data(); $dados['servicos'] = $this->dados->select_servicos(); $dados['consulta_func'] = $this->dados->consulta_func(1); $dados['cpf'] = $this->input->post('cpf'); $this->load->view('cliente/agendar_servico', $dados); } } }
      Este é o model (Só a função que importa que neste caso é a consulta de valor)
      public function consulta_valor($id_servico, $id_cat_animal, $id_porte){ $options = "<option> Valores </option>"; $this->db->select('*'); $this->db->from('valores'); $this->db->where(array('id_servico' => $id_servico, 'id_cat_animal' => $id_cat_animal, 'id_porte' => $id_porte)); $query = $this->db->get(); if($query->num_rows() > 0){ foreach($query->result() as $linha){ $options .= "<option value='{$linha->id_valor}'> $linha->valor </option>"; } return $options; }else{ return false; } } Este é a função para o jquery executar, que esta dentro do controller/ajax
      <?php defined('BASEPATH') OR exit('No direct script access allowed');
      Class Valor extends CI_controller{ function __construct(){ parent::__construct(); $this->load->model('cliente/dados_cliente', 'dados_cliente');
      } public function get_valor(){ $id_servico = $this->input->post('id_servico'); $id_cat_animal = $this->input->post('id_cat_animal'); $id_porte = $this->input->post('id_porte'); sleep(1); echo $this->dados_cliente->ff($id_servico, $id_cat_animal, $id_porte); } }
      Esta é a função do header com o jquery.
      $(function(){ $('#servico').change(function(){ $('#valor').attr('disabled', 'disabled'); $('#valor').html("<option> Carregando... </option>"); var id_servico = $('#servico').val(); $.post(base_url+'index.php/ajax/valor/get_valor',{ id_servico : id_servico }, function(data){ $('#valor').html(data); $('#valor').removeAttr('disabled'); }); }); }); E por fim esta é a view(bom apenas uma parte dela) echo form_label('Serviços: '); echo "";
      echo $servicos; echo "";
      echo form_label('Valor: ', 'valor'); echo "<select id='valor' name='valor' disabled=''>"; echo "<option>valor</option>"; echo "</select>";
    • Por Euler Belfortt
      Olá pessoal boa tarde!
       
      Estou com um problema no meu projeto pois os dados são inseridos com acentos no banco de dados e ao tentar abrir a url no navegar se tiver o acento da erro.
      Endereço que aparece na url: 
      http://dominio.com.br/tecnau-brasil/formatação-notebooks
       
      Se eu entrar na tabela do banco e remover os acentos o erro desaparece alguém pode me ajudar para que seja aberto com os acentos no navegar sem dar este erro?
      A PHP Error was encountered Severity: Notice Message: Trying to get property of non-object Filename: controllers/Business.php Line Number: 698 Backtrace: File: /home/cybervie/public_html/uaisearch/application/controllers/Business.php Line: 698 Function: _error_handler File: /home/cybervie/public_html/uaisearch/index.php Line: 292 Function: require_once  
    • Por WEBCHARLES
      tenho o seguinte .htaccess no meu site:
       
      RewriteEngine On
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://www.meusite.br/$1 [R,L]
       
      OBS: Funciona perfeitamente em todo o meu site
       
      e tenho o seguinte .htaccess na pasta do codeigniter chamada admnoticias:
       
      RewriteEngine on
      RewriteCond $1 !^(index\.php|public|\.txt)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?$1 [L]
       
      Entretando para este, quando faço login no sistema de noticias, perco a comunicação entre view, controller e model. Já quando retiro o .htaccess de todo o site, o sistema volta a funcionar normalmente, mas a pagina fica como insegura. Alguém ajuda a resolver esse problema por favor!!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.