Udostępnij za pośrednictwem


RequiredStringValidationBehavior

Jest RequiredStringValidationBehavior to element Behavior , który umożliwia użytkownikowi określenie, czy wprowadzanie tekstu jest równe określonemu tekstowi. Na przykład kontrolka Entry może być stylizowany inaczej w zależności od tego, czy podano prawidłowy, czy nieprawidłowy tekst.

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 RequiredStringValidationBehavior do elementu Entry i zmienić TextColor element na podstawie tego, czy RequiredString element został wprowadzony.

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 RequiredStringValidationBehavior

Można RequiredStringValidationBehavior 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.RequiredStringValidationBehaviorPage">

    <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:RequiredStringValidationBehavior 
                InvalidStyle="{StaticResource InvalidEntryStyle}"
                ValidStyle="{StaticResource ValidEntryStyle}"
                Flags="ValidateOnValueChanged"
                RequiredString="MAGIC ANSWER" />
        </Entry.Behaviors>
    </Entry>

</ContentPage>

C#

Można RequiredStringValidationBehavior go użyć w następujący sposób w języku C#:

class RequiredStringValidationBehaviorPage : ContentPage
{
    public RequiredStringValidationBehaviorPage()
    {
        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 requiredStringValidationBehavior = new RequiredStringValidationBehavior
        {
            InvalidStyle = invalidStyle,
            ValidStyle = validStyle,
            Flags = ValidationFlags.ValidateOnValueChanged,
            RequiredString = "MAGIC ANSWER"
        };

        entry.Behaviors.Add(requiredStringValidationBehavior);

        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 RequiredStringValidationBehaviorPage : ContentPage
{
    public RequiredStringValidationBehaviorPage()
    {
        Content = new Entry()
            .Behaviors(new RequiredStringValidationBehavior
            {
                InvalidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Red),
                ValidStyle = new Style<Entry>(Entry.TextColorProperty, Colors.Green),
                Flags = ValidationFlags.ValidateOnValueChanged,
                RequiredString = "MAGIC ANSWER"
            });
    }
}

Poniższy zrzut ekranu przedstawia wynikowy element RequiredStringValidationBehavior w systemie Android: Zrzut ekranu przedstawiający element RequiredStringValidationBehavior w systemie Android

Właściwości

Właściwości Type Opis
ExactMatch bool Określa, czy wprowadzony tekst musi być zgodny z całą zawartością RequiredString właściwości, czy po prostu zawierać RequiredString wartość właściwości.
RequiredString string Ciąg, który zostanie porównany z wartością podaną przez użytkownika.

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 RequiredStringValidationBehavior znaleźć w repozytorium GitHub zestawu narzędzi .NET MAUI Community Toolkit.