CharactersValidationBehavior
Jedná se CharactersValidationBehavior
o hodnotu Behavior
, která uživateli umožňuje ověřovat textové zadání v závislosti na zadaných parametrech. Ovládací prvek může být například stylován odlišně v závislosti na tom, Entry
jestli je zadaná platná nebo neplatná textová hodnota. Toto chování zahrnuje integrované kontroly, jako je například kontrola určitého počtu číslic nebo alfanumerických znaků.
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 CharactersValidationBehavior
a Entry
změnit TextColor
na základě toho, jestli zadaný text obsahuje jenom čísla a má aspoň 2 čísla.
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í CharactersValidationBehavior
V XAML je možné ho CharactersValidationBehavior
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.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#
V CharactersValidationBehavior
jazyce C# je možné ho použít následujícím způsobem:
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;
}
}
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 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
});
}
}
Následující snímek obrazovky ukazuje výsledné znakyValidationBehavior v Androidu:
Vlastnosti
Vlastnost | Type | Popis |
---|---|---|
CharacterType |
CharacterType |
Poskytuje výčtovou hodnotu, která se má použít k nastavení způsobu zpracování porovnání. |
DecorationFlags |
TextDecorationFlags |
Poskytuje výčtové hodnoty, které se použijí k nastavení způsobu zpracování prázdných znaků. |
MaximumCharacterTypeCount |
int |
Maximální požadovaný počet CharacterType znaků. |
MaximumLength |
int |
Maximální délka hodnoty, která bude povolena. |
MinimumCharacterTypeCount |
int |
Minimální požadovaný počet CharacterType znaků. |
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í. |
Příklady
Příklad tohoto chování v akci najdete v ukázkové aplikaci .NET MAUI Community Toolkit.
rozhraní API
Zdrojový kód CharactersValidationBehavior
najdete v úložišti .NET MAUI Community Toolkit na GitHubu.
.NET MAUI Community Toolkit