0

我需要检查输入文本中输入的数据是否有效,如果有效,则执行一个方法。(由 a 验证DataAnnotation)。

我尝试过OnFieldChangedEditForm但这个在验证之前执行。

我怎么能这样做?

4

1 回答 1

0

EditForm 中的参数 OnValidSubmit 可以做到这一点。这是一个例子:

我的模型.cs

using System;
using System.ComponentModel.DataAnnotations;

public class MyModel
{
    [Required]
    public string Field1 { get; set; }
    [Required, Range(1, 10)]
    public int Fields2 { get; set; } = 1;
}

我的页面.razor

<EditForm Model="@exampleModel" OnValidSubmit="@HandleValidSubmit">
    <DataAnnotationsValidator />
    <ValidationSummary />

    <InputText id="field1" @bind-Value="@exampleModel.Field1"></InputText>
    <button type="submit">Submit</button>
</EditForm>

<h5 hidden="@(!isFormValid)">Form submitted successfully!</h5>

@code {
    MyModel exampleModel = new MyModel();
    bool isFormValid = false;

    void HandleValidSubmit()
    {
        isFormValid = true;
        StateHasChanged();
    }
}

无效提交:

在此处输入图像描述

有效提交:

在此处输入图像描述

于 2021-06-09T17:03:22.423 回答