App Masters

App Masters

  • English
  • Português

›Frontend

App Masters - Core

  • Início
  • Conteúdo

Backend

  • Adonis
  • Laravel
  • Livewire
  • Sequelize

Fundamentos de Javascript

  • Javascript Assíncrono
  • Typescript

Padrões de Projeto

  • Presentational Container Design Pattern

Frontend

  • Ant Design
  • Flexbox
  • Media Queries
  • React Hook Form
  • Redux
  • Redux-Saga
  • Redux-Thunk
  • Styled Components
  • Tailwind
  • TWA
  • Yup

Testes

  • Cypress
  • Detox
  • Jest

Ferramentas

  • Docker
  • nvm
  • Storybook
  • Visual Studio Code

CMS

  • Strapi

Yup

O que é

Yup é um pacote de validação de objetos, geralmente utilizado para validar posts para a API com dados que o usuário forneceu. Ele permite declarar o tipo de cada elemento do objeto, assim como regras que devem ser validada para considerar que o objeto fornecido está válido.

Como usar

Geralmente utilizamos o yup junto com o React-Hook-Form de modo a validar o body que o usuário digitou antes de ir para a API e já conseguir avisar dos erros antes de conseguir

import * as yup from 'yup';

// Criando schema para definir como vai ser o objeto
const schema = yup.object().shape({
  name: yup.string().required(),
  age: yup.number().required().positive().integer(),
  email: yup.string().email(),
  website: yup.string().url(),
  createdOn: yup.date().default(function () {
    return new Date();
  }),
});

// Conferindo validade
schema
  .isValid({
    name: 'jimmy',
    age: 24,
  })
  .then(function (valid) {
    valid; // => true
  });

Como aprender

O melhor jeito é criar um schema complexo e tentar passar objetos por ele. Ver como ele vai lidar como cada valor que você colocar ou a falta de alguma coisa required. Conferir como vem o objeto de erro e como mostrar pro usuário o que está com problema.

Material útil

  • Documentação oficial

Validando o conhecimento

Em um projeto react em branco, criar 3 tipos de schema diferentes e passar diferentes objetos por eles vendo como cada erro é retornado.

← TWACypress →
  • O que é
  • Como usar
  • Como aprender
    • Material útil
    • Validando o conhecimento
App Masters
App masters
Content
More
BlogGitHub
Copyright © 2022 App Masters