EmailValidationBehavior
Jest EmailValidationBehavior
to element Behavior
, który umożliwia użytkownikom określenie, czy wprowadzanie tekstu jest prawidłowym adresem e-mail. Na przykład kontrolka Entry
może być stylizowany inaczej w zależności od tego, czy podano prawidłowy, czy nieprawidłowy adres e-mail. Walidacja jest osiągana za pomocą wyrażenia regularnego, które służy do sprawdzania, czy wprowadzanie tekstu jest prawidłowym adresem e-mail.
Po dołączeniu do elementu InputView
(np. Entry
, Editor
itp.) EmailValidationBehavior
zmieni domyślną klawiaturę, Keyboard.Default
na Keyboard.Email
. Jeśli określono wartość inną niż domyślna Keyboard
dla InputView
elementu , EmailValidationBehavior
nie zmieni wartości Keyboard
.
W przypadku odłączenia od elementu InputView
element zmieni się Keyboard.Email
z powrotem na Keyboard.Default
EmailValidationBehavior
. Jeśli parametr inny Keyboard
niż Keyboard.Email
został określony dla InputView
elementu , EmailValidationBehavior
nie zmieni Keyboard
wartości podczas odłączania.
Ważne
Zachowania zestawu narzędzi .NET MAUI Community Toolkit nie ustawiają BindingContext
zachowania, ponieważ zachowania mogą być współużytkowane i stosowane do wielu kontrolek za pomocą stylów. Aby uzyskać więcej informacji, zobacz Zachowania maUI platformy .NET
Składnia
W poniższych przykładach pokazano, jak dodać element EmailValidationBehavior
do elementu Entry
i zmienić TextColor
wartość na podstawie tego, czy wprowadzony tekst jest prawidłowym adresem e-mail.
XAML
Dołączanie przestrzeni nazw XAML
Aby można było używać zestawu narzędzi w języku XAML, należy dodać następujące xmlns
elementy do strony lub widoku:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
W związku z tym następujące elementy:
<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>
Zostanie zmodyfikowana tak, aby zawierała następujące xmlns
elementy:
<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>
Korzystanie z elementu EmailValidationBehavior
Można EmailValidationBehavior
go użyć w następujący sposób w języku 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#
Można EmailValidationBehavior
go użyć w następujący sposób w języku 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;
}
}
Znaczniki języka C#
Nasz CommunityToolkit.Maui.Markup
pakiet zapewnia znacznie bardziej zwięzły sposób korzystania z niego Behavior
w języku 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
});
}
}
Poniższy zrzut ekranu przedstawia wynikowy element EmailValidationBehavior w systemie Android:
Właściwości
Właściwości | Type | Opis |
---|---|---|
DecorationFlags |
TextDecorationFlags |
Udostępnia wyliczone wartości używane do ustawiania sposobu obsługi białych spacji. |
MaximumLength |
int |
Maksymalna długość wartości, która będzie dozwolona. |
MinimumLength |
int |
Minimalna długość wartości, która będzie dozwolona. |
RegexOptions |
RegexOptions |
Zawiera wyliczone wartości używane do ustawiania opcji wyrażeń regularnych. |
RegexPattern |
string |
Wzorzec wyrażenia regularnego, który będzie musiał być zgodny z wartością, zanim będzie dozwolony. |
Właściwości ValidationBehavior
Następujące właściwości są implementowane w klasie bazowej: public abstract class ValidationBehavior
Właściwość | Type | Opis |
---|---|---|
Flags |
ValidationFlags |
Zawiera wyliczona wartość określającą sposób obsługi walidacji. |
ForceValidateCommand |
ICommand |
Umożliwia użytkownikowi udostępnienie niestandardowego ICommand , który obsługuje wymuszanie walidacji. |
InvalidStyle |
Style |
Element Style , który ma być stosowany do elementu w przypadku niepowodzenia walidacji. |
IsNotValid |
bool |
Wskazuje, czy bieżąca wartość jest uważana za nieprawidłową. |
IsRunning |
bool |
Wskazuje, czy walidacja jest teraz w toku (oczekiwanie na zakończenie wywołania asynchronicznego). |
IsValid |
bool |
Wskazuje, czy bieżąca wartość jest uważana za prawidłową. |
ValidStyle |
Style |
Element Style , który ma być stosowany do elementu po pomyślnym zakończeniu walidacji. |
Value |
object |
Wartość do zweryfikowania. |
ValuePropertyName |
string |
Umożliwia użytkownikowi zastąpienie właściwości, która będzie używana jako wartość do zweryfikowania. |
Metody
Metoda | opis |
---|---|
EmailRegex (statyczny) | Element do GeneratedRegex dopasowania danych wejściowych jest prawidłowym adresem e-mail. |
EmailDomainRegex (statyczny) | A GeneratedRegex , aby dopasować domenę adresu e-mail. |
Przykłady
Przykład tego zachowania można znaleźć w przykładzie przykładowym aplikacji zestawu narzędzi .NET MAUI Community Toolkit.
interfejs API
Kod źródłowy można EmailValidationBehavior
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit