如何解决在 Blazor 中,通过 DataAnnotation 验证 InputText 后执行方法
我需要检查输入文本中键入的数据是否有效,如果有效,则执行一个方法。
(由 DataAnnotation
验证)。
我在 OnFieldChanged
的 EditForm
事件中尝试过,但该事件在验证之前执行。
我怎么能这样做?
解决方法
EditForm 中的参数 OnValidSubmit 可以做到这一点。下面是一个例子:
MyModel.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;
}
MyPage.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();
}
}
无效提交:
有效提交:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。