Book Image

Apps and Services with .NET 7

By : Mark J. Price
Book Image

Apps and Services with .NET 7

By: Mark J. Price

Overview of this book

Apps and Services with .NET 7 is for .NET 6 and .NET 7 developers who want to kick their C# and .NET understanding up a gear by learning the practical skills and knowledge they need to build real-world applications and services. It covers specialized libraries that will help you monitor and improve performance, secure your data and applications, and internationalize your code and apps. With chapters that put a variety of technologies into practice, including Web API, OData, gRPC, GraphQL, SignalR, and Azure Functions, this book will give you a broader scope of knowledge than other books that often focus on only a handful of .NET technologies. It covers the latest developments, libraries, and technologies that will help keep you up to date. You’ll also leverage .NET MAUI to develop mobile apps for iOS and Android as well as desktop apps for Windows and macOS.
Table of Contents (23 chapters)
22
Index

Validating data

FluentValidation allows you to define strongly typed validation rules in a human-readable way.

You create a validator for a type by inheriting from AbstractValidator<T>, where T is the type that you want to validate. In the constructor, you call the RuleFor method to define one or more rules. If a rule should run only in specified scenarios, then you call the When method.

Understanding the built-in validators

FluentValidation ships with lots of useful built-in validator extension methods for defining rules, as shown in the following partial list:

  • Null, NotNull, Empty, NotEmpty
  • Equal, NotEqual
  • Length, MaxLength, MinLength
  • LessThan, LessThanOrEqualTo, GreaterThan, GreaterThanOrEqualTo
  • InclusiveBetween, ExclusiveBetween
  • ScalePrecision
  • Must (aka predicate)
  • Matches (aka regular expression), EmailAddress, CreditCard
  • IsInEnum, IsEnumName

Performing custom validation

The easiest way to...