我需要检查输入文本中输入的数据是否有效,如果有效,则执行一个方法。(由 a 验证DataAnnotation
)。
我尝试过OnFieldChanged
,EditForm
但这个在验证之前执行。
我怎么能这样做?
我需要检查输入文本中输入的数据是否有效,如果有效,则执行一个方法。(由 a 验证DataAnnotation
)。
我尝试过OnFieldChanged
,EditForm
但这个在验证之前执行。
我怎么能这样做?
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();
}
}
无效提交:
有效提交: