EmailValidationBehavior
Jedná se EmailValidationBehavior
o možnost Behavior
, která uživatelům umožňuje určit, zda je textové zadání platnou e-mailovou adresou. Ovládací prvek může být například stylován odlišně v závislosti na tom, Entry
jestli je zadanou platnou nebo neplatnou e-mailovou adresu. Ověření se provádí prostřednictvím regulárního výrazu, který slouží k ověření, zda je textové zadání platnou e-mailovou adresou.
Když je připojená k objektu InputView
(např. Entry
, Editor
atd.), EmailValidationBehavior
změní se výchozí klávesová zkratka , Keyboard.Default
na Keyboard.Email
. Pokud byla pro InputView
danou hodnotu zadána jiná než výchozí Keyboard
hodnota , EmailValidationBehavior
nezmění se Keyboard
.
Po odpojení od objektu InputView
se EmailValidationBehavior
změní Keyboard.Email
zpět na Keyboard.Default
. Keyboard
Pokud je pro parametr , EmailValidationBehavior
jiný, než Keyboard.Email
je zadán InputView
, při odpojení se nezměníKeyboard
.
Důležité
Chování sady nástrojů .NET MAUI Community Toolkit nenastavuje BindingContext
chování, protože chování lze sdílet a použít u více ovládacích prvků prostřednictvím stylů. Další informace najdete v tématu Chování rozhraní .NET MAUI.
Syntaxe
Následující příklady ukazují, jak přidat EmailValidationBehavior
do Entry
a změnit TextColor
na základě toho, jestli je zadaný text platnou e-mailovou adresou.
XAML
Zahrnutí oboru názvů XAML
Pokud chcete použít sadu nástrojů v XAML, musíte do stránky nebo zobrazení přidat následující xmlns
položky:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Proto platí následující:
<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>
Bylo by změněno tak, aby zahrnovalo xmlns
následující:
<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>
Použití EmailValidationBehavior
V XAML je možné ho EmailValidationBehavior
použít následujícím způsobem:
<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#
V EmailValidationBehavior
jazyce C# je možné ho použít následujícím způsobem:
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;
}
}
Revize jazyka C#
Náš CommunityToolkit.Maui.Markup
balíček nabízí mnohem stručnější způsob použití Behavior
v jazyce 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
});
}
}
Následující snímek obrazovky ukazuje výsledný e-mailValidationBehavior v Androidu:
Vlastnosti
Vlastnost | Type | Popis |
---|---|---|
DecorationFlags |
TextDecorationFlags |
Poskytuje výčtové hodnoty, které se použijí k nastavení způsobu zpracování prázdných znaků. |
MaximumLength |
int |
Maximální délka hodnoty, která bude povolena. |
MinimumLength |
int |
Minimální délka hodnoty, která bude povolena. |
RegexOptions |
RegexOptions |
Poskytuje výčtové hodnoty, které se mají použít k nastavení možností regulárního výrazu. |
RegexPattern |
string |
Vzor regulárního výrazu, se kterým se hodnota bude muset shodovat, než bude povolená. |
Vlastnosti ValidationBehavior
V základní třídě jsou implementovány následující vlastnosti: public abstract class ValidationBehavior
Vlastnost | Type | Popis |
---|---|---|
Flags |
ValidationFlags |
Poskytuje výčtovou hodnotu, která určuje, jak zpracovat ověření. |
ForceValidateCommand |
ICommand |
Umožňuje uživateli zadat vlastní ICommand popisovač ověřování. |
InvalidStyle |
Style |
Hodnota Style , která se má použít u elementu při selhání ověření. |
IsNotValid |
bool |
Určuje, zda je aktuální hodnota považována za neplatnou. |
IsRunning |
bool |
Označuje, jestli právě probíhá ověření (čeká se na dokončení asynchronního volání). |
IsValid |
bool |
Určuje, zda je aktuální hodnota považována za platnou. |
ValidStyle |
Style |
To Style platí pro prvek, pokud je ověření úspěšné. |
Value |
object |
Hodnota, která má být ověřena |
ValuePropertyName |
string |
Umožňuje uživateli přepsat vlastnost, která se použije jako hodnota k ověření. |
Metody
metoda | Popis |
---|---|
EmailRegex (statická) | Hodnota GeneratedRegex odpovídající vstupu je platná e-mailová adresa. |
EmailDomainRegex (statická) | A, GeneratedRegex která odpovídá doméně e-mailové adresy. |
Příklady
Příklad tohoto chování v akci najdete v ukázkové aplikaci .NET MAUI Community Toolkit.
rozhraní API
Zdrojový kód EmailValidationBehavior
najdete v úložišti .NET MAUI Community Toolkit na GitHubu.
.NET MAUI Community Toolkit