07. E se alguém mandar um recado vazio? Opcional
Tempo: uns 45 minutos.
O desafio
Você já viu isso duas vezes: no console, em Como guardar os recados?, e no formulário, em Como postar um recado?. Se alguém clicar em Postar recado sem escrever nada, aparece um cartão vazio no mural de recados.

O Rails aceita porque ninguém disse a ele que isso é proibido. O desafio agora é decidir o que é um recado válido e fazer o app recusar o que não for, avisando a pessoa do que falta.
Pense antes de programar
Reserve uns 5 minutos. Não existe resposta errada.
- Volte à tabela “O que pode dar errado” do seu plano, em Planejando o app. Que recados não deveriam ser aceitos?
- Um recado só com espaços em branco é um recado vazio?
- Uma mensagem pode ter qualquer tamanho? Qual seria um limite razoável para caber num post-it?
- Quando um recado é recusado, o que a pessoa vê na tela? O que ela escreveu some ou continua lá?
- E na correção: dá para apagar a mensagem de um recado e salvar?
Compare com o nosso plano
Abrir o nosso plano
No fim deste capítulo, quem tentar postar um recado vazio vai ver isto:

As regras de um recado:
| Regra | O que a pessoa vê se não cumprir |
|---|---|
| Precisa ter o nome de quem escreveu | Escreva o seu nome. |
| Precisa ter a mensagem | Escreva o seu recado. |
| A mensagem pode ter no máximo 280 caracteres | O recado pode ter no máximo 280 caracteres. |
- O limite de 280 caracteres é só um exemplo, baseado no limite de uma postagem no X (antigo Twitter). Ele pode ser diferente de grupo para grupo: se o seu plano tem outro número, use o seu.
- Espaços em branco não contam: um nome só com espaços é um nome vazio.
- Quando o recado é recusado, a página volta com o aviso embaixo do campo que falta, e o que a pessoa já escreveu continua no formulário.
- A correção segue as mesmas regras: não dá para salvar um recado sem mensagem.
- O mínimo: essas três regras. Outras, como recusar palavrões, ficam de fora.
Mão na massa
Agora é com você: siga os passos em Mão na massa. Quando terminar, siga para O que aconteceu?.
O que aconteceu?
Terminou os passos? Em O que aconteceu? você entende cada passo, quebra o app de propósito, vê se precisa de IA e responde um quiz.