Ferramentas de validação da Nexus é um pacote Nuget com um conjunto de ferramentas (atributos validáveis, metodos de formatação e etc..) para validação e formatação de propiedades em classes modelo (usando o esquema MVC ) utilizando atributos. Esse pacote feito por Juan Douglas, feito em nome e para a Nexus Company.
Para saber sobre versões e atualizações click aqui
Saiba como usar e veja exemplos aqui.
Esta lista contém os atributos que serão ou já foram implementados ou a serem implementados
':heavy_check_mark:' Atributo já implementado
':x:' Atributo a ser implementado
Esses atributos são usados para validar classes modelo
- ✔️ Required: O campo e obrigatório e não aceita valores nulos.
- ✔️ Password: O campo contém uma senha por isso deve conter uma letra minúscula, uma letra de maiúscula, um número e um caráter especial, além de ter no mínimo 8 caracteres.
- ✔️ EmailAdress: Este atributo indica que o campo deve ser um e-mail seguindo o esquema user@domain.org RFC 822.
- ✔️ Compare: Este atributo indica que o campo deve ter o mesmo valor do campo referenciado.
- ✔️ UniqueInDatabase: Este atributo indica que o valor deste campo deve ser unico em sua tabela no banco de dados (para a validação o atributo uso EntityFramework).
- ❌ RequireAuthentication: Este atributo irá indicar que um contéudo deve ser acessado usando uma autenticação válida.
Para utilizar os atributos e necessário adicionar o pacote Nexus.Tools.Validation, você pode adicionar o pacote utilizando o comando:
dotnet add package Nexus.Tools.Validations
Este exemplo mostra um exemplo de uma classe modelo com atributos nome é e-mail onde todo a validação é feita usando os atributos da classe
Para saber mais sobre os atribtuos e suas funcionalidades click aqui
Exemplo:
using Nexus.Tools.Validations.Attributes;
namespace Example.Models
{
public class ExampleModel
{
[Required]
[EmailAddress]
[StringLength(500)]
[UniqueInDataBase(typeof(DbContext), typeof(Account), nameof(Account.Email))]
public string Email { get; set; }
[Password]
[Required]
[StringLength(50, MinimumLength = 8)]
public string Password { get; set; }
[Required]
[Compare(nameof(Password))]
public string ConfirmPassword { get; set; }
}
}