Novidades do .NET 8: validando strings base64 com Base64StringAttribute

Renato Groffe
2 min readSep 25, 2023

--

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:

Clique nesta imagem para visualizar com uma melhor resolução

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/

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker