Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Programming APIs with C# and .NET

You're reading from   Programming APIs with C# and .NET Develop high-performance APIs that ensure seamless application communication and enhanced security

Arrow left icon
Product type Paperback
Published in Nov 2024
Publisher Packt
ISBN-13 9781835468852
Length 166 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Jesse Liberty Jesse Liberty
Author Profile Icon Jesse Liberty
Jesse Liberty
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Preface 1. Chapter 1: Getting Started 2. Chapter 2: What We’ll Build FREE CHAPTER 3. Chapter 3: Implementing with REST 4. Chapter 4: Documentation with Swagger 5. Chapter 5: Data Validation 6. Chapter 6: Azure Functions 7. Chapter 7: Azure Durable Functions 8. Chapter 8: Advanced Topics 9. Chapter 9: Authentication and Authorization 10. Chapter 10: Deploying to Azure 11. Chapter 11: What’s Next? 12. Index 13. Other Books You May Enjoy

Built-in validators

There is a cornucopia of built-in validators in addition to the Equal and NotEmpty validators we’ve seen so far. I won’t provide a comprehensive list (see the documentation) but one of the most interesting is the PredicateValidator validator. This passes the value of the property to a delegate, which can use custom validation logic. This is accomplished with the keyword Must keyword, as shown here:

RuleFor(car => car.Is_Deleted).Must(isDeleted => isDeleted == "0").WithMessage("Car must have value zero");

If this validation fails, the issue is displayed in the results as shown in Figure 5.5:

Figure 5.5 – PredicateValidator error

Figure 5.5 – PredicateValidator error

There is a RegularExpression validator that uses the Matches keyword (instead of Must), but one of my favorites is EmailValidator, which ensures that the value submitted is a valid email. Similarly, there is a CreditCard validator:

RuleFor(cc => cc.CreditCard...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image