如何验证Blazor EditForm中的单个字段



我正在从CascadingParameter获取EditContext

[CascadingParameter]
public EditContext EditContext { get; set; }

我意识到存在一个.Validate方法,它验证了EditForm的整个Model

但我只想验证Model的一个字段。

谁可以只验证EditFormModel的一个字段?

如果你想知道我为什么要这个。。。因为我正在制作一个自定义组件,当值发生变化并且是有效值时,它会做一些事情。

在查看Peter Morris Library时,我发现如果要验证非复杂字段,只需要创建一个FieldIdentifier并调用EditContext.NotifyFieldChanged(fieldIdentifier),它就会触发该字段验证。

所以答案要简单得多:

// Get the FieldIdentifier with the EditContext from the field name
FieldIdentifier fieldIdentifier = EditContext.Field(fieldName);
// Validate the field when notifying change
EditContext.NotifyFieldChanged(fieldIdentifier);
// To check if the field is valid, 
// check if there is any error message. 
return !EditContext.GetValidationMessages(fieldIdentifier).Any();

相关内容

  • 没有找到相关文章

最新更新