EmailValidationBehavior
Le EmailValidationBehavior
est un Behavior
qui permet aux utilisateurs de déterminer si une entrée de texte est ou non une adresse e-mail valide. Par exemple, un contrôle Entry
peut avoir un style différent selon que l’adresse e-mail fournie est valide ou non valide. La validation est effectuée par le biais d’une expression régulière utilisée pour vérifier si l’entrée de texte est une adresse e-mail valide.
Lorsqu’elle est attachée à une InputView
(par exemple, Entry
, Editor
, etc.), EmailValidationBehavior
remplace le clavier par défaut, Keyboard.Default
, par Keyboard.Email
. Si un Keyboard
autre que celui défini par défaut est spécifié pour InputView
, EmailValidationBehavior
ne modifie pas Keyboard
.
Lorsqu’elle est détachée de InputView
, EmailValidationBehavior
rebascule Keyboard.Email
sur Keyboard.Default
. Si un Keyboard
autre que Keyboard.Email
a été spécifié pour InputView
, EmailValidationBehavior
ne modifie pas Keyboard
lors du détachement.
Important
Les comportements du Kit d’outils de la communauté .NET MAUI ne définissent pas le BindingContext
d’un comportement, car ceux-ci peuvent être partagés et appliqués à plusieurs contrôles par l’intermédiaire de styles. Pour obtenir plus d’informations, consultez Comportements MAUI .NET
Syntaxe
Les exemples suivants montrent comment ajouter EmailValidationBehavior
à une Entry
et modifier TextColor
selon que le texte entré correspond à une adresse e-mail valide ou non.
XAML
Y compris l’espace de noms XAML
Pour utiliser le kit de ressources dans XAML, le xmlns
suivant doit être ajouté à votre page ou à votre affichage :
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Il en résulte ce qui suit :
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml">
</ContentPage>
Serait modifié pour inclure le xmlns
de la manière suivante :
<ContentPage
x:Class="CommunityToolkit.Maui.Sample.Pages.MyPage"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit">
</ContentPage>
Utiliser EmailValidationBehavior
Le EmailValidationBehavior
peut être utilisé de la manière suivante dans XAML :
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
x:Class="CommunityToolkit.Maui.Sample.Pages.Behaviors.EmailValidationBehaviorPage">
<ContentPage.Resources>
<Style x:Key="InvalidEntryStyle" TargetType="Entry">
<Setter Property="TextColor" Value="Red" />
</Style>
<Style x:Key="ValidEntryStyle" TargetType="Entry">
<Setter Property="TextColor" Value="Green" />
</Style>
</ContentPage.Resources>
<Entry>
<Entry.Behaviors>
<toolkit:EmailValidationBehavior
InvalidStyle="{StaticResource InvalidEntryStyle}"
ValidStyle="{StaticResource ValidEntryStyle}"
Flags="ValidateOnValueChanged" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
Le EmailValidationBehavior
peut être utilisé de la manière suivante dans C# :
class EmailValidationBehaviorPage : ContentPage
{
public EmailValidationBehaviorPage()
{
var entry = new Entry();
var validStyle = new Style(typeof(Entry));
validStyle.Setters.Add(new Setter
{
Property = Entry.TextColorProperty,
Value = Colors.Green
});
var invalidStyle = new Style(typeof(Entry));
invalidStyle.Setters.Add(new Setter
{
Property = Entry.TextColorProperty,
Value = Colors.Red
});
var emailValidationBehavior = new EmailValidationBehavior
{
InvalidStyle = invalidStyle,
ValidStyle = validStyle,
Flags = ValidationFlags.ValidateOnValueChanged
};
entry.Behaviors.Add(emailValidationBehavior);
Content = entry;
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup
permet d’utiliser ce Behavior
de manière beaucoup plus concise en C#.
using CommunityToolkit.Maui.Markup;
class EmailValidationBehaviorPage : ContentPage
{
public EmailValidationBehaviorPage()
{
Content = new Entry()
.Behaviors(new EmailValidationBehavior
{
InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
Flags = ValidationFlags.ValidateOnValueChanged
});
}
}
La capture d’écran suivante montre les résultats de EmailValidationBehavior sur Android :
Propriétés
Propriété | Type | Description |
---|---|---|
DecorationFlags |
TextDecorationFlags |
Fournit la valeur énumérée à utiliser pour définir la façon dont les espaces blancs doivent être gérés. |
MaximumLength |
int |
Longueur maximale de la valeur qui sera autorisée. |
MinimumLength |
int |
Longueur minimale de la valeur qui sera autorisée. |
RegexOptions |
RegexOptions |
Fournit les valeurs énumérées à utiliser pour définir les options des expressions régulières. |
RegexPattern |
string |
Modèle d’expression régulière à laquelle la valeur doit correspondre pour être autorisée. |
Propriétés ValidationBehavior
Les propriétés suivantes sont implémentées dans la classe de base, public abstract class ValidationBehavior
:
Propriété | Type | Description |
---|---|---|
Flags |
ValidationFlags |
Fournit une valeur énumérée qui spécifie comment gérer la validation. |
ForceValidateCommand |
ICommand |
Permet à l’utilisateur de fournir une commande ICommand personnalisée qui gère le forçage de validation. |
InvalidStyle |
Style |
Style à appliquer à l’élément en cas d’échec de la validation. |
IsNotValid |
bool |
Indique si la valeur actuelle est considérée ou non comme non valide. |
IsRunning |
bool |
Indique si la validation est en cours (en attente de la fin d’un appel asynchrone) ou non. |
IsValid |
bool |
Indique si la valeur actuelle est considérée ou non comme valide. |
ValidStyle |
Style |
Style à appliquer à l’élément en cas de réussite de la validation. |
Value |
object |
Valeur à valider. |
ValuePropertyName |
string |
Permet à l’utilisateur de substituer la propriété qui sera utilisée comme valeur à valider. |
Méthodes
méthode | Description |
---|---|
EmailRegex (statique) | Un GeneratedRegex pour correspondre à une entrée d’adresse e-mail valide. |
EmailDomainRegex (statique) | Un GeneratedRegex pour correspondre au domaine d’une adresse e-mail. |
Exemples
Vous trouverez un exemple de ce comportement en action dans l’Exemple d’application du kit de ressources de la communauté .NET MAUI.
API
Vous pouvez trouver le code source deEmailValidationBehavior
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit