#11 – Complaint System in CodeIgniter 4

The system for validating complaints is like a wild rollercoaster ride, with twists and turns at every step. You’ll need a keen eye for each unique validation, and a heart of steel to handle the 3000 character cap. But fear not, you can count on the General Helper to soften the landing when things go wrong, allowing for a smooth and user-friendly ride. So buckle up and enjoy the validation adventure! 🎢


De certa nós já fizemos o percurso para a validação de do nosso obviamente que as regras de validação para cada das ser distingas por exemplo se nós regressarmos aqui o nós ter é seguinte no text area vai ser obrigatório o mesmo acontece com o select que aqui está vai apenas obrigatório não fazer nenhuma muito especial vamos regressar ao nosso e vamos colocar essa regra aqui aqui por baixo vou inclusive aproveitar aqui o estava validação do email.
Ok vou selecionar tudo e duplicar aqui que eu vou colocar é area para nome não é necessário o não é obrigatório então o area que é Esta área que aqui está vamos aqui select que está aqui alg vamos aqui este area que aqui está 👇

RevisãoDetalhes
Text AreaObrigatório
SelectApenas Obrigatório

📝 Label:Validações

  • Area para nome: Obrigatório
  • Select: Apenas obrigatório

Vou inclusive aproveitar aqui o estava validação do email. Ok vou selecionar tudo e duplicar aqui que eu vou colocar é area para nome não é necessário o não é obrigatório então o area que é Esta área que aqui está vamos aqui select que está aqui alg vamos aqui este area que aqui está ok então aqui pelo nome ele vai buscar o area tem que ser então eu aqui vou colocar área colocar aqui mesmo com letra é simplesmente o vou remover daqui
informação ou aquela validação e feito Então significa que eu agora tentar aqui submeter meu formulário não dados nenhuns no area aqui no e-mail vou colocar mas é se remover daqui do area os valores que aqui estão repar posso fazê-lo vamos aqui procurar as opções todas vou remover aqui este este elemento todo que posso inclusive o elemento todo do delete Element se eu for em enviar repara que ele voltou outra aqui para e não me permitiu a mensagem do ok ok então se colocar aqui clicar em enviar temos aqui o ok certo significa que nós temos já estas duas validações vou por agora text area então o area que vou duplicar vai ter aqui este nome que é ok que é a o a minha area aqui no validá-lo de várias formas então eu vou colocar aqui o complain o Label é ver aqui o que é que nós aqui caso é área de texto.
Vou colocar assim a vamos deixar ficar aqui o e vamos ver é uma para dizer que temos que ter máximo x caracteres isso eu aconselho-te que a do codit que tiveres o link a documentação do Code vais poder aqui validation no validation quando Fazes a aqui uma área validation quando clicas lá no interior e já agora não quiseres ver área aqui removeres parte do validation.
Eu acho que daria para remover enfim não interessa o é que vai acontecer se roles ao tu vais ver que available rules regras Gerais e regras ficheiros se eu clicar aqui no available rules Tu verificar que existe tabela que contém o tipo de ção que tu queres fazer se tem parâmetros não E tem aqui ou neste caso tem aqui uma descrição por vezes tem inclusive até exemplo o que nós vamos querer aqui elas organizadas ordem alfabética nós temos o Max o Max length um parâmetro já ver o que é que é e neste caso ele se o de texto tiver mais do que parâmetro que está definido que o que aqui o Max length 8 é um exemplo vou puxá-lo aqui para meu código e vou dizer que para além do required eu quero o Max length não eu agora o length um bocadinho maior a minha mensagem tem no máximo 3.000 caracteres então eu vou colocá-la aqui com 3.000 o que significa isto na prática que se eu escrever mais do que 3.000 caracteres eu vou um Ok se eu escrever menos não vou Então agora eu vou aqui que para a validação do Max length repara que inteligência está é que eu quero eu vou até completar aquilo que a de Inteligência Artificial fazer aqui que não fez por completo que o length diz que campo Field que ser o campo reclamação deve ter no máximo 3000 caracteres colocou aqui 3000 caracteres eu defini o valor 3000 ali mas uma forma também nós podermos indicar aqui mensagem do erro o que é que nós quer quemos colocar aqui neste caso é a expressão o param vai a mesma forma Field é substituído aqui pelo campo Label o param vai ser substituído este parâmetro aqui isto significa na prática que se eu amanhã decidir que afinal só de basta alterar aqui o texto vai ser construído base no valor que eu colocar Ok a parte da definida os seus erros portanto.
Chegamos aqui a uma em que eu agora quiser aqui enviar eu estou sistematicamente a para trás porquê porque estamos a erros que ainda não estamos a apresentar bom como é que nós podemos fazê-lo eu voute mostrar que vêm apresentados vou aqui por baixo meu formulário colocar aqui uma condição do PHP.

💡 A validação do Max Length

  • Se o campo de texto tiver mais do que o parâmetro que está definido (3000), um erro será gerado.
  • A mensagem de erro é dinâmica e dependerá do número de caracteres definidos.

Então colocar aqui bloco se não vazio se empty uma variável chamada errors Isto se não estiver vazio os erros neste caso erros é muito específico porque chamamos aqui o validation Ok vamos ver quando nós aqui atrás temos o validation errors então isto vai eventualmente aqui então o que é que eu quero aqui fazer eu quero os erros de validação bom ele está a sugerir aqui uma implementação eu vou até aceitá-lo explicar o que está a fazer aqui um com uma caixa alerta com um vermelho com uma margem top de três E aqui fez uma lista unordered de list um que percorre todos os validation errors porque dos erros vai transformar numa erro e vai colocá-lo dentro da lista de então repara nada de extraordinário aqui vai.
Eu agora clicar é um ele diz-me ok você tem aqui um bloco código que problemas não existir como é foi a informação ou o comentário eu tinha para me ajudar a escrever aqui área esta informação que aqui está Eu vou removê-la ela já não sentido existir ali aparentemente aqui um é aqui o if eventualmente Se Tivesse ficar ali aquela do código de do comentário HTML também não existiria problema mas a de agora já estará em condições de vou refrescar repara se eu clicar agora em o que é que acontecer o está-me a para aqui as informações mas não me a apresentar aqui a listagem dos erros porquê por simples quando nós chegarmos Aqui temos aqui o data a buscar o validation errors mas não está passar para o interior home vou ter que colocar aqui o o data vai passar para o interior minha View um de variáveis acabar por neste caso só este nome validation errors por isso é eu a perguntar se aqui existe um validation errors e depois uma iteração pelos erros se eu agora aqui refrescar clicar em enviar repara como agora já me aparece a dos que são preenchimento entanto é comum que erros de validação apareçam em eles de um Campos onde o erro validação está acontecer então neste Este texto que aqui que está deveria exemplo por do e-mail o texto que aqui está aparecer baixo do text a dizer que há aqui erro que você que compor.
Como é que isto uma que eu uso muita frequência é um helper com do igniter e posso chamar partir de qualquer localização meu código eu vou-te mostrar com um exemplo muito prático eu vou remover daqui toda esta lógica já não quero que ela seja porque vou criar uma vai permitir apresentar próximo de cada um dos Campos onde erros de validação os erros de validação.

📝 Bloco de PHP na View

  • Criação de uma condicional em PHP para exibir erros de validações de forma dinâmica.

💡 Helper do CodeIgniter

  • Exemplo prático aplicando auxílio na apresentação dos erros de validação.

About the Author

João Ribeiro
45.5K subscribers

About the Channel:

Videotutores em português sobre os mais variados assuntos relacionados com o mundo da Informática.
Share the Post:
en_GBEN_GB