Novidades do .NET 8: validando strings base64 com Base64StringAttribute
Em artigos anteriores abordei novos recursos do .NET 8 para validações e que foram incorporados ao namespace System.ComponentModel.DataAnnotations, como os atributos AllowedValuesAttribute e DeniedValuesAttribute:
Novidades do .NET 8: definindo valores possíveis com AllowedValuesAttribute
Novidades do .NET 8: definindo valores não permitidos com DeniedValuesAttribute
Neste novo post retomo esse tema, abordando desta vez o atributo Base64StringAttribute.
Esta nova estrutura permite validar se o valor de uma propriedade marcada com Base64String realmente é uma string base64. Na próxima listagem temos um exemplo de uso deste atributo, com mesmo associado à propriedade Encoded:
A próxima listagem traz exemplos de uso da classe Item, com 4 instâncias vinculadas a um array (linhas 11 a 17). A segunda (linha 14) e a quarta instância (linha 16) irão gerar erros de validação, por contarem com strings inválidas atribuídas à propriedade Encoded:
O resultado da execução desta Console Application (a partir do Visual Studio 2022 17.8.0 Preview 2.0) pode ser observado na imagem seguinte, com as inconsistências encontradas destacadas em vermelho:
Esse exemplo também está disponível no GitHub:
https://github.com/renatogroffe/DotNet8-ConsoleApp-Base64StringAttribute
Caso achem útil esta solução, peço por favor um ⭐️ no repositório apoiando. Fica também o convite para que vocês me sigam lá no GitHub!
E finalizo este artigo com um convite…
Acompanhe neste novo evento ONLINE e GRATUITO no Canal .NET dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 7, C#, ASP.NET Core e Azure Functions. Ao longo da apresentação será abordado o uso de diferentes frameworks, serviços na nuvem, mensageria e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.
Teremos ainda novidades do .NET 8 e C# 12 demonstradas através de exemplos práticos!
Quando: 16/10/2023 (segunda) a partir das 21:00 — horário de Brasília
Faça sua inscrição em:
https://www.meetup.com/dotnet-sao-paulo/events/295621042/