InputPanel for UWP
イベントによるデータ検証
機能 > データ検証 > イベントによるデータ検証

InputPanel は、入力検証を行うもう 1 つの方法として、イベントによる方法も提供しています。 コントロールには、ユーザー入力の検証に使用できる ValidateCurrentItem イベントが用意されています。

次の図に、イベントを使用して適用された検証を示します。

イベントを使用したデータ検証を実装するには、コードでValidateCurrentItem イベントをサブスクライブし、イベントハンドラに検証規則を追加します。次のコードは、イベントを使用して検証を適用する方法を示します。この例では、「 クイックスタート」で作成したサンプルを使用します。

Dim customer As Customer = TryCast(InPanel.CurrentItem, Customer)

If customer IsNot Nothing Then
    Dim errorList = New ObservableCollection(Of ErrorInfo)()

    If customer.名前 IsNot Nothing AndAlso String.IsNullOrWhiteSpace _
        (customer.名前.ToString()) Then
        errorList.Add(New ErrorInfo() With {
   .ErrorInputName = "名前",
    .ErrorContent = "このフィールドは空白にできません。"
})
    End If
    If customer.重量 > 150 Then
        errorList.Add(New ErrorInfo() With {
    .ErrorInputName = "重量",
    .ErrorContent = "値が範囲外です。"
})
    End If
    InPanel.ValidationErrors = errorList
    If errorList.Count > 0 Then
        e.Cancel = True
    End If
End If
Customer customer = InPanel.CurrentItem as Customer;

if (customer != null)
{
    var errorList = new ObservableCollection<ErrorInfo>();

    if (customer.名前 != null && string.IsNullOrWhiteSpace(
        customer.名前.ToString()))
    {
        errorList.Add(new ErrorInfo
        {
            ErrorInputName = "名前",
            ErrorContent = "このフィールドは空白にできません。"
        });
    }
    if (customer.重量 > 150)
    {
        errorList.Add(new ErrorInfo
        {
            ErrorInputName = "重量",
            ErrorContent = "値が範囲外です。"
        });
    }
    InPanel.ValidationErrors = errorList;
    if (errorList.Count > 0)
    {
        e.Cancel = true;
    }
}
関連トピック