Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Validating User Input | Validating Input and Safe Parsing
C# Exceptions and Error Handling Practice

bookValidating User Input

Input validation is a fundamental practice in software development, especially when dealing with user input. When you ask users to provide information—such as their age, email address, or password—you can never assume they will enter data in the expected format. Input validation is the process of checking this incoming data to ensure it meets certain criteria before your program tries to use it. This step is crucial for preventing errors, avoiding unexpected behavior, and stopping malicious input that could compromise your application's security.

Program.cs

Program.cs

copy
123456789101112131415161718192021222324
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { Console.Write("Enter your age: "); string input = Console.ReadLine(); int age; if (!int.TryParse(input, out age) || age <= 0) { Console.WriteLine("Invalid input. Age must be a positive integer."); } else { Console.WriteLine($"Your age is: {age}"); } } } }

A common validation pattern is to check that user input matches the expected type and range. For example, when asking for a number, you should verify that the input can be parsed into an integer and that it falls within a valid range. Another frequent pattern is to use regular expressions for checking if an email address is in the correct format. However, pitfalls can occur if you only check for type and ignore logical constraints—such as accepting an age of zero or a password of "123". Overly strict validation can also frustrate users, so finding a balance is important.

ValidationExamples.cs

ValidationExamples.cs

copy
123456789101112131415161718192021222324
// This file is for illustration only and is not meant to be run directly. using System.Text.RegularExpressions; public class ValidationExamples { // Email format validation public bool IsValidEmail(string email) { // Simple pattern for demonstration; real validation may require more checks return Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"); } // Password strength validation public bool IsStrongPassword(string password) { // At least 8 characters, one uppercase, one lowercase, one digit return password.Length >= 8 && Regex.IsMatch(password, @"[A-Z]") && Regex.IsMatch(password, @"[a-z]") && Regex.IsMatch(password, @"\d"); } }

This example defines a C# class called ValidationExamples that contains two methods for input validation. The first method, IsValidEmail, uses a regular expression to check whether a given email string is in a valid format. The second method, IsStrongPassword, verifies that a password meets certain strength criteria: it must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, and one digit. These validation techniques help ensure that user-provided email addresses and passwords meet basic security and formatting requirements.

1. Why is input validation important?

2. What can happen if you skip input validation?

question mark

Why is input validation important?

Select the correct answer

question mark

What can happen if you skip input validation?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

bookValidating User Input

Glissez pour afficher le menu

Input validation is a fundamental practice in software development, especially when dealing with user input. When you ask users to provide information—such as their age, email address, or password—you can never assume they will enter data in the expected format. Input validation is the process of checking this incoming data to ensure it meets certain criteria before your program tries to use it. This step is crucial for preventing errors, avoiding unexpected behavior, and stopping malicious input that could compromise your application's security.

Program.cs

Program.cs

copy
123456789101112131415161718192021222324
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { Console.Write("Enter your age: "); string input = Console.ReadLine(); int age; if (!int.TryParse(input, out age) || age <= 0) { Console.WriteLine("Invalid input. Age must be a positive integer."); } else { Console.WriteLine($"Your age is: {age}"); } } } }

A common validation pattern is to check that user input matches the expected type and range. For example, when asking for a number, you should verify that the input can be parsed into an integer and that it falls within a valid range. Another frequent pattern is to use regular expressions for checking if an email address is in the correct format. However, pitfalls can occur if you only check for type and ignore logical constraints—such as accepting an age of zero or a password of "123". Overly strict validation can also frustrate users, so finding a balance is important.

ValidationExamples.cs

ValidationExamples.cs

copy
123456789101112131415161718192021222324
// This file is for illustration only and is not meant to be run directly. using System.Text.RegularExpressions; public class ValidationExamples { // Email format validation public bool IsValidEmail(string email) { // Simple pattern for demonstration; real validation may require more checks return Regex.IsMatch(email, @"^[^@\s]+@[^@\s]+\.[^@\s]+$"); } // Password strength validation public bool IsStrongPassword(string password) { // At least 8 characters, one uppercase, one lowercase, one digit return password.Length >= 8 && Regex.IsMatch(password, @"[A-Z]") && Regex.IsMatch(password, @"[a-z]") && Regex.IsMatch(password, @"\d"); } }

This example defines a C# class called ValidationExamples that contains two methods for input validation. The first method, IsValidEmail, uses a regular expression to check whether a given email string is in a valid format. The second method, IsStrongPassword, verifies that a password meets certain strength criteria: it must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, and one digit. These validation techniques help ensure that user-provided email addresses and passwords meet basic security and formatting requirements.

1. Why is input validation important?

2. What can happen if you skip input validation?

question mark

Why is input validation important?

Select the correct answer

question mark

What can happen if you skip input validation?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1
some-alt