Prøve GULL - Gratis

Exploring .NET MAUI: Popups, Messages, and Data Validation

CODE Magazine

|

May - June 2025

Through this article series, you've created several .NET MAUI pages, performed navigation, used data binding, and worked with the MVVM and DI design patterns. As you created your view models, you've set information and exception message properties. In this article, you'll build reusable components to display information, error, and validation messages on your pages. To validate

- Paul D. Sheriff

user input, you're going to use data annotation attributes such as [Required] and [Range]. With just a little generic code, you can add validation to your .NET MAUI applications and display the error messages from these data annotation attributes. Sometimes you require a pop-up dialog to ask the user a question, get a little piece of data, or maybe just provide some information to the user. There are a few different dialogs you can use in .NET MAUI and you'll start this article by exploring these.

Display Your Own Page as a Modal Dialog

Any page you create may be used as a modal dialog by calling the PushModalAsync() method on the Navigation object. For this application, before a user can log in, they must read and accept a privacy policy, as shown in Figure 1. This policy page is displayed as a modal dialog. After the user accepts the terms, the Login button becomes enabled so the user can continue using the application. If they don't accept the policies, they're never allowed to log in. To build this functionality, create a privacy policy page and the corresponding view model, as well as a log in view model, and an application settings class to hold the Boolean of whether or not the user accepted the policies.

Create the Privacy Policy View Model

You're not going to add all the functionality for enabling or disabling the Login button yet. First, let's learn how to display a modal dialog and return to the calling page by clicking on a button. Right mouse-click on the Maui-ViewModelClasses folder and add a new class named PrivacyPolicyViewModel. Replace the entire contents of this new file with the code shown in Listing 1. At this point, you don't need a corresponding view model class in the ViewModelLayer project as you are just creating the functionality to call pages in the front-end application.

CODE Magazine

Denne historien er fra May - June 2025-utgaven av CODE Magazine.

Abonner på Magzter GOLD for å få tilgang til tusenvis av kuraterte premiumhistorier og over 9000 magasiner og aviser.

Allerede abonnent?

FLERE HISTORIER FRA CODE Magazine

CODE Magazine

Identifying and Reducing Test Case Combinatorial Explosions with Python's Abstract Syntax Tree (AST) and Pytest Framework

Test matrix explosions are a growing challenge in modern software testing, especially when using parameterized tests in machine learning pipelines.

time to read

3 mins

July - August 2025

CODE Magazine

CODE Magazine

The New Features and Enhancements in .NET 10 H

By the end of this year, Microsoft plans to release .NET 10 (in November 2025). Incidentally, it will be a Long-Term Support (LTS) release. The preview version of .NET 10 is already available.

time to read

2 mins

July - August 2025

CODE Magazine

Unlocking Angular Performance: Optimization Techniques

Optimizing Angular applications for speed and efficiency requires a deliberate strategy.

time to read

2 mins

July - August 2025

CODE Magazine

Git Branching Strategies

Sometimes when we reach for the stars, we forget to keep our feet on the ground. Whenever I sit down to write these articles, I wonder what I should write about.

time to read

6 mins

July - August 2025

CODE Magazine

Sending Email with SendGrid

C# provides several ways to send email. Maybe you've used the SMTPClient class or perhaps you've used the Mailkit NuGet package, which is what Microsoft recommends for new code.

time to read

4 mins

July - August 2025

CODE Magazine

Natural Language Al-Powered Smart UI

Looking for real-world AI examples is a challenge and part of this challenge comes from Generative AI (GenAI) news dominating the media. It feels like every AI demo involves chatting with GenAl to produce content. The obligatory chat completion demo has started to become the to-do list of AI demo apps, and, to make matters worse, it's selling AI short.

time to read

9 mins

July - August 2025

CODE Magazine

CODE Magazine

Three Conferences, One Destination: MAXIMIZING YOUR AI-ERA LEARNING INVESTMENT

MAXIMIZING YOUR AI-ERA LEARNING INVESTMENT

time to read

4 mins

July - August 2025

CODE Magazine

Exploring .NET MAUI: Popups, Messages, and Data Validation

Through this article series, you've created several .NET MAUI pages, performed navigation, used data binding, and worked with the MVVM and DI design patterns. As you created your view models, you've set information and exception message properties. In this article, you'll build reusable components to display information, error, and validation messages on your pages. To validate

time to read

11 mins

May - June 2025

CODE Magazine

Unlock Serverless Azure Functions

The evolution of cloud computing has transformed how developers build and deploy applications. One of the most significant shifts in this evolution is the rise of serverless architecture. Traditionally, building and maintaining applications requires managing servers, scaling infrastructure, and handling operational concerns.

time to read

10 mins

May - June 2025

CODE Magazine

Securing ASP.NET Core Blazor Applications

Blazor is a modern web framework from Microsoft used for building interactive web applications using C# and .NET. It's based on a flexible, modular component model well suited for building applications with rich, interactive web user interfaces. Blazor leverages the authentication mechanism of ASP.NET Core to establish the identity of a user.

time to read

5 mins

May - June 2025

Listen

Translate

Share

-
+

Change font size