DEV Community

NuryCaroline for Dev Girls Mentor

Posted on

Dashboard - Validações e formatação

Campos de data e hora

Existem vários tipos de inputs como date, time, tel, email que modificam o formato do input ( cada navegador tem uma interface diferente) e deixam o HTML mais semântico.

Para adicionar uma nova task temos os campos Data e Hora:

src/components/ModalFormTasks/index.js:

<div> <label> Date <input type="date" onChange={e => setDate(e.currentTarget.value)} /> </label> <label> Hour <input type="time" onChange={e => setHour(e.currentTarget.value)} /> </label> </div> 
Enter fullscreen mode Exit fullscreen mode

E para dar uma 'descolada' do texto dos campos na lateral, vamos dar um espacinho nesses inputs:

src/components/ModalFormTasks/styles.js:

label { ... input[type=time], input[type=date] { padding-left: 5px; } ... } 
Enter fullscreen mode Exit fullscreen mode

Toda as modificações acima podem ser encontradas aqui

Obrigando o preenchimento de todas as informações

Hoje temos um problema, que se o usuário não preencher as informações, mesmo assim estamos criando uma task, e assim deixando a task em branco. Para resolver isso, sempre que o usuário não preencher as informações vamos mostrar um alerta, para lembra-lo.

Uma maneira simples de fazer isso é verificando se os valores estão preenchidos antes de adicionar uma nova tarefa, e caso não estejam, mostramos um alerta:

src/components/ModalFormTasks/index.js:

function handleSaveTask() { if ( title && description && date && hour && responsable && status) { handleAddTask({ title, description, date, hour, responsable, status, }) onClose() } else { alert('Preencha todos os campos.') } } 
Enter fullscreen mode Exit fullscreen mode

Toda as modificações acima podem ser encontradas aqui

Top comments (0)