Blazor自定义组件中的验证需要在组件的参数上标记验证器,而不是在该组件的根元素上标记。可以使用以下示例中的方法解决此问题:
//组件中的自定义参数模型
public class CustomModel
{
[Required(ErrorMessage = "Please enter your name")]
public string Name { get; set; }
}
//自定义组件
public partial class CustomComponent : ComponentBase
{
[Parameter]
public CustomModel Model { get; set; }
...
}
//使用该组件的父组件
//代码中的模型导入验证命名空间
@using System.ComponentModel.DataAnnotations