CharactersValidationBehavior
Le CharactersValidationBehavior
est un Behavior
qui permet à l’utilisateur de valider une entrée de texte en fonction de paramètres spécifiés. Par exemple, un contrôle Entry
peut être mis en forme différemment selon qu’une valeur de texte valide ou non valide est fournie. Ce comportement inclut des vérifications intégrées, comme la vérification d’un certain nombre de chiffres ou de caractères alphanumériques.
Important
Les comportements du kit d’outils de la communauté .NET MAUI ne définissent pas les BindingContext
d’un comportement, car ceux-ci peuvent être partagés et appliqués à plusieurs contrôles par l’intermédiaire de styles. Pour plus d’informations, consultez Comportements MAUI .NET
Syntaxe
Les exemples suivants montrent comment ajouter CharactersValidationBehavior
à une Entry
et modifier la TextColor
selon que le texte entré contient uniquement des nombres et qu’il comporte au moins 2 nombres, 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 CharactersValidationBehavior
Le CharactersValidationBehavior
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.CharactersValidationBehaviorPage">
<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:CharactersValidationBehavior
InvalidStyle="{StaticResource InvalidEntryStyle}"
ValidStyle="{StaticResource ValidEntryStyle}"
Flags="ValidateOnValueChanged"
CharacterType="Digit"
MinimumCharacterTypeCount="3" />
</Entry.Behaviors>
</Entry>
</ContentPage>
C#
Le CharactersValidationBehavior
peut être utilisé de la manière suivante dans C# :
class CharactersValidationBehaviorPage : ContentPage
{
public CharactersValidationBehaviorPage()
{
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 charactersValidationBehavior = new CharactersValidationBehavior
{
InvalidStyle = invalidStyle,
ValidStyle = validStyle,
Flags = ValidationFlags.ValidateOnValueChanged,
CharacterType = CharacterType.Digit,
MinimumCharacterTypeCount = 3
};
entry.Behaviors.Add(charactersValidationBehavior);
Content = entry;
}
}
Balisage C#
Notre package CommunityToolkit.Maui.Markup
offre un moyen beaucoup plus concis d’utiliser ce Behavior
en C#.
using CommunityToolkit.Maui.Markup;
class CharactersValidationBehaviorPage : ContentPage
{
public CharactersValidationBehaviorPage()
{
Content = new Entry()
.Behaviors(new CharactersValidationBehavior
{
InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
Flags = ValidationFlags.ValidateOnValueChanged,
CharacterType = CharacterType.Digit,
MinimumCharacterTypeCount = 3
});
}
}
La capture d’écran suivante montre les résultats de CharactersValidationBehavior obtenus sur Android :
Propriétés
Propriété | Type | Description |
---|---|---|
CharacterType |
CharacterType |
Fournit une valeur énumérée à utiliser pour définir la façon de gérer les comparaisons. |
DecorationFlags |
TextDecorationFlags |
Fournit une valeur énumérée à utiliser pour définir comment gérer les espaces blancs. |
MaximumCharacterTypeCount |
int |
Nombre maximal de caractères CharacterType à lire. |
MaximumLength |
int |
Longueur maximale de la valeur qui sera autorisée. |
MinimumCharacterTypeCount |
int |
Nombre minimal de caractères CharacterType requis. |
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 remplacer la propriété qui sera utilisée comme valeur à valider. |
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 deCharactersValidationBehavior
sur le référentiel du kit de ressources de la communauté .NET MAUI sur GitHub.
.NET MAUI Community Toolkit