ZnakiValidationBehavior
Jest CharactersValidationBehavior
to element Behavior
, który umożliwia użytkownikowi weryfikowanie danych wejściowych tekstu w zależności od określonych parametrów. Na przykład kontrolka Entry
może być stylizowany inaczej w zależności od tego, czy podano prawidłową, czy nieprawidłową wartość tekstową. Takie zachowanie obejmuje wbudowane kontrole, takie jak sprawdzanie określonej liczby cyfr lub znaków alfanumerycznych.
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 CharactersValidationBehavior
do elementu Entry
i zmienić TextColor
element na podstawie tego, czy wprowadzony tekst zawiera tylko liczby i ma co najmniej 2 liczby.
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 CharactersValidationBehavior
Można CharactersValidationBehavior
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.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#
Można CharactersValidationBehavior
go użyć w następujący sposób w języku 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;
}
}
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 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
});
}
}
Poniższy zrzut ekranu przedstawia wynikowy element CharactersValidationBehavior w systemie Android:
Właściwości
Właściwości | Type | Opis |
---|---|---|
CharacterType |
CharacterType |
Udostępnia wyliczona wartość do użycia w celu ustawienia sposobu obsługi porównań. |
DecorationFlags |
TextDecorationFlags |
Udostępnia wyliczone wartości używane do ustawiania sposobu obsługi białych spacji. |
MaximumCharacterTypeCount |
int |
Wymagana CharacterType maksymalna liczba znaków. |
MaximumLength |
int |
Maksymalna długość wartości, która będzie dozwolona. |
MinimumCharacterTypeCount |
int |
Wymagana minimalna CharacterType liczba znaków. |
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. |
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 CharactersValidationBehavior
znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit