属性[Required]不处理Blazor中表单输入验证的int?

属性[Required]不处理Blazor中表单输入验证的int?,blazor,blazor-server-side,asp.net-blazor,Blazor,Blazor Server Side,Asp.net Blazor,必需属性似乎不适用于整数值。我还尝试了整数字段上的Range属性,但其行为正常。问题是没有进行验证,前端中所需的消息也没有显示。对于字符串值,属性的行为符合预期。这是示例代码: @page”/test 提交 @代码{ 私有ExampleModel ExampleModel=新ExampleModel(); 公共部分类示例模型 { [必需] 公共字符串名称{get;set;} [必需] [范围(1100,ErrorMessage=“错误测试”)] 公共int-Name2{get;set;} }

必需属性似乎不适用于整数值。我还尝试了整数字段上的Range属性,但其行为正常。问题是没有进行验证,前端中所需的消息也没有显示。对于字符串值,属性的行为符合预期。这是示例代码:

@page”/test
提交
@代码{
私有ExampleModel ExampleModel=新ExampleModel();
公共部分类示例模型
{
[必需]
公共字符串名称{get;set;}
[必需]
[范围(1100,ErrorMessage=“错误测试”)]
公共int-Name2{get;set;}
}

}
默认情况下,Name2属性等于零。但由于允许的最小值是1,因此在加载表单时看不到零

一些解决方案:

  • 将Name2初始化为介于1和100之间的整数值,或

  • 将Name2声明为可为null的int

  • Name2是一个
    int
    (与
    int?
    相反),因此它总是有一个值(0),因此不会标记为required。使用int?如果是可选的。
        public int? Name2 { get; set; }