我正在从CascadingParameter
获取EditContext
[CascadingParameter]
public EditContext EditContext { get; set; }
我意识到存在一个.Validate
方法,它验证了EditForm
的整个Model
。
但我只想验证Model
的一个字段。
谁可以只验证EditForm
中Model
的一个字段?
如果你想知道我为什么要这个。。。因为我正在制作一个自定义组件,当值发生变化并且是有效值时,它会做一些事情。
在查看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();