EmailValidationBehavior
EmailValidationBehavior
è un oggetto Behavior
che consente agli utenti di determinare se l'input di testo è un indirizzo di posta elettronica valido. Ad esempio, è Entry
possibile applicare uno stile diverso a un controllo a seconda che venga specificato un indirizzo di posta elettronica valido o non valido. La convalida viene eseguita tramite un'espressione regolare utilizzata per verificare se l'input di testo è un indirizzo di posta elettronica valido.
Se associato a un InputView
oggetto (ad esempio Entry
, e Editor
così via), EmailValidationBehavior
la tastiera predefinita, Keyboard.Default
, viene modificata in Keyboard.Email
. Se è stato specificato un valore non predefinito Keyboard
per , InputView
EmailValidationBehavior
non modificherà .Keyboard
Quando si scollega da un oggetto InputView
, EmailValidationBehavior
verrà restituito Keyboard.Email
a Keyboard.Default
. Se è stato specificato un Keyboard
oggetto diverso Keyboard.Email
da per InputView
, EmailValidationBehavior
, non cambierà durante la Keyboard
disconnessione.
Importante
I comportamenti di .NET MAUI Community Toolkit non impostano l'oggetto BindingContext
di un comportamento, perché i comportamenti possono essere condivisi e applicati a più controlli tramite stili. Per altre informazioni, vedere Comportamenti MAUI di .NET
Sintassi
Negli esempi seguenti viene illustrato come aggiungere a e Entry
modificare l'oggetto TextColor
EmailValidationBehavior
in base al fatto che il testo immesso sia un indirizzo di posta elettronica valido.
XAML
Inclusione dello spazio dei nomi XAML
Per usare il toolkit in XAML, è necessario aggiungere le informazioni seguenti xmlns
nella pagina o nella visualizzazione:
xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"
Di conseguenza:
<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>
Verrà modificato in modo da includere l'oggetto xmlns
come indicato di seguito:
<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>
Uso di EmailValidationBehavior
Può EmailValidationBehavior
essere usato come segue in 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#
Può EmailValidationBehavior
essere usato come indicato di seguito in 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;
}
}
C# Markup
Il CommunityToolkit.Maui.Markup
pacchetto offre un modo molto più conciso per usarlo Behavior
in 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
});
}
}
Lo screenshot seguente mostra l'oggetto EmailValidationBehavior risultante in Android:
Proprietà
Proprietà | Type | Descrizione |
---|---|---|
DecorationFlags |
TextDecorationFlags |
Fornisce un valore enumerato da utilizzare per impostare la modalità di gestione degli spazi vuoti. |
MaximumLength |
int |
Lunghezza massima del valore che sarà consentito. |
MinimumLength |
int |
Lunghezza minima del valore che sarà consentito. |
RegexOptions |
RegexOptions |
Fornisce valori enumerati da usare per impostare le opzioni delle espressioni regolari. |
RegexPattern |
string |
Modello di espressione regolare che dovrà corrispondere al valore prima che venga consentito. |
Proprietà ValidationBehavior
Le proprietà seguenti vengono implementate nella classe base : public abstract class ValidationBehavior
Proprietà | Type | Descrizione |
---|---|---|
Flags |
ValidationFlags |
Fornisce un valore enumerato che specifica come gestire la convalida. |
ForceValidateCommand |
ICommand |
Consente all'utente di fornire un oggetto personalizzato ICommand che gestisce la convalida forzata. |
InvalidStyle |
Style |
Oggetto Style da applicare all'elemento in caso di esito negativo della convalida. |
IsNotValid |
bool |
Indica se il valore corrente è considerato non valido. |
IsRunning |
bool |
Indica se la convalida è in corso ora (in attesa del completamento di una chiamata asincrona). |
IsValid |
bool |
Indica se il valore corrente è considerato valido o meno. |
ValidStyle |
Style |
Oggetto Style da applicare all'elemento quando la convalida ha esito positivo. |
Value |
object |
Valore da convalidare. |
ValuePropertyName |
string |
Consente all'utente di eseguire l'override della proprietà che verrà utilizzata come valore da convalidare. |
Metodi
metodo | Descrizione |
---|---|
EmailRegex (statico) | Un GeneratedRegex oggetto che corrisponde a un input è un indirizzo di posta elettronica valido. |
EmailDomainRegex (statico) | Oggetto GeneratedRegex che corrisponde al dominio di un indirizzo di posta elettronica. |
Esempi
È possibile trovare un esempio di questo comportamento in azione nell'applicazione di esempio .NET MAUI Community Toolkit.
API
È possibile trovare il codice sorgente per EmailValidationBehavior
over nel repository GitHub di .NET MAUI Community Toolkit.
.NET MAUI Community Toolkit