EmailValidationBehavior
EmailValidationBehavior
ist ein Behavior
, mit dem Benutzer*innen bestimmen können, ob es sich bei der Texteingabe um eine gültige E-Mail-Adresse handelt. Beispielsweise kann ein Entry
-Steuerelement unterschiedlich formatiert werden, je nachdem, ob eine gültige oder eine ungültige E-Mail-Adresse angegeben wird. Die Überprüfung erfolgt über einen regulären Ausdruck, der verwendet wird, um zu überprüfen, ob es sich bei der Texteingabe um eine gültige E-Mail-Adresse handelt.
Wenn sie an eine InputView
angeschlossen ist (z. B. Entry
, Editor
usw.), ändert EmailValidationBehavior
die Standardtastatur, Keyboard.Default
, in Keyboard.Email
. Wenn für den InputView
ein nicht standardmäßiger Wert Keyboard
angegeben wurde, ändert EmailValidationBehavior
die Keyboard
nicht.
Wenn es von einem InputView
getrennt wird, wechselt EmailValidationBehavior
Keyboard.Email
zurück zu Keyboard.Default
. Wenn für die InputView
eine andere Keyboard
als Keyboard.Email
angegeben wurde, ändert EmailValidationBehavior
die Keyboard
beim Trennen nicht.
Wichtig
.NET MAUI Community Toolkit Behaviors legt den BindingContext
eines Verhaltens nicht fest, da Verhalten über Stile freigegeben und auf mehrere Steuerelemente angewendet werden können. Weitere Informationen finden Sie unter .NET MAUI Behaviors.
Syntax
In den folgenden Beispielen wird gezeigt, wie Sie den EmailValidationBehavior
zu einem Entry
hinzufügen und TextColor
basierend darauf ändern, ob es sich bei dem eingegebenen Text um eine gültige E-Mail-Adresse handelt.
XAML
Einbinden des XAML-Namespace
Um das Toolkit in XAML verwenden zu können, muss der folgende xmlns
-Abschnitt zu Ihrer Seite oder Ansicht hinzugefügt werden:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Der folgende Abschnitt:
<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>
Würde dann geändert werden, um xmlns
einzubinden:
<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>
Verwenden von EmailValidationBehavior
EmailValidationBehavior
kann wie folgt in XAML verwendet werden:
<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#
EmailValidationBehavior
kann wie folgt in C# verwendet werden:
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;
}
}
C#-Markup
Das Paket CommunityToolkit.Maui.Markup
bietet eine viel präzisere Möglichkeit, dieses Behavior
in C# zu verwenden.
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
});
}
}
Der folgende Screenshot zeigt das resultierende EmailValidationBehavior unter Android:
Eigenschaften
Eigenschaft | Typ | Beschreibung |
---|---|---|
DecorationFlags |
TextDecorationFlags |
Stellt einen Aufzählungswert bereit, der verwendet wird, um festzulegen, wie Leerzeichen behandelt werden. |
MaximumLength |
int |
Die maximale Länge des zulässigen Werts. |
MinimumLength |
int |
Die Mindestlänge des zulässigen Werts. |
RegexOptions |
RegexOptions |
Stellt Enumerationswerte bereit, mit deren Hilfe Optionen für reguläre Ausdrücke festgelegt werden können. |
RegexPattern |
string |
Das Muster für reguläre Ausdrücke, mit dem der Wert übereinstimmen muss, bevor er zulässig ist. |
ValidationBehavior-Eigenschaften
Die folgenden Eigenschaften werden in der Basisklasse public abstract class ValidationBehavior
implementiert:
Eigenschaft | Typ | Beschreibung |
---|---|---|
Flags |
ValidationFlags |
Stellt einen Enumerationswert bereit, der angibt, wie die Validierung behandelt werden soll. |
ForceValidateCommand |
ICommand |
Ermöglicht es dem Benutzer, einen benutzerdefinierten ICommand bereitzustellen, der die Validierung erzwingt. |
InvalidStyle |
Style |
Der Style , der auf das Element angewendet werden soll, wenn die Validierung fehlschlägt. |
IsNotValid |
bool |
Gibt an, ob der aktuelle Wert als ungültig betrachtet wird oder nicht. |
IsRunning |
bool |
Gibt an, ob die Validierung jetzt ausgeführt wird oder nicht (Warten auf einen asynchronen Aufruf ist beendet). |
IsValid |
bool |
Gibt an, ob der aktuelle Wert als gültig betrachtet wird oder nicht. |
ValidStyle |
Style |
Der Style , der auf das Element angewendet werden soll, wenn die Validierung erfolgreich ist. |
Value |
object |
Der zu überprüfende Wert. |
ValuePropertyName |
string |
Ermöglicht es dem Benutzer, die Eigenschaft außer Kraft zu setzen, die als Wert für die Validierung verwendet wird. |
Methoden
Methode | Beschreibung |
---|---|
EmailRegex (statisch) | Eine GeneratedRegex , die einer Eingabe entspricht, ist eine gültige E-Mail-Adresse. |
EmailDomainRegex (statisch) | Eine GeneratedRegex , die der Domäne einer E-Mail-Adresse entspricht. |
Beispiele
Sie finden ein Beispiel für dieses Verhalten in Aktion in der Beispielanwendung für das .NET MAUI Community Toolkit.
API
Sie finden den Quellcode für EmailValidationBehavior
über das GitHub-Repository für das .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit