属性 [必需] 不适用于 Blazor 中用于表单输入验证的 int?
Attribute [Required] not working on int for Form Input validation in Blazor?
Required 属性似乎不适用于整数值。我还在整数字段上尝试了 Range 属性并且表现正常。问题是未进行验证并且未显示前端所需的消息。对于字符串值,该属性的行为符合预期。这是示例代码:
@page "/test"
<EditForm Model="@exampleModel">
<DataAnnotationsValidator />
<ValidationSummary />
<InputNumber @bind-Value="exampleModel.Name2"></InputNumber>
<button type="submit" value="Save" >
Submit
</button>
</EditForm>
@code {
private ExampleModel exampleModel = new ExampleModel();
public partial class ExampleModel
{
[Required]
public string Name { get; set; }
[Required]
[Range(1, 100, ErrorMessage = "Error Test")]
public int Name2 { get; set; }
}
}
Name 的必需属性有效,而 Name2 的必需属性无效。 Name2 的范围属性按预期工作。
我正在使用 ASP.NET Core 3.1 和 Visual Studio 16.9.4。
默认情况下,Name2 属性 等于零。但是因为允许的最小值是 1,所以在加载表单时看不到零。
一些解决方案:
将 Name2 初始化为 1 到 100 之间的整数值或
将 Name2 声明为可为 null 的 int
public int? Name2 { get; set; }
Required 属性似乎不适用于整数值。我还在整数字段上尝试了 Range 属性并且表现正常。问题是未进行验证并且未显示前端所需的消息。对于字符串值,该属性的行为符合预期。这是示例代码:
@page "/test"
<EditForm Model="@exampleModel">
<DataAnnotationsValidator />
<ValidationSummary />
<InputNumber @bind-Value="exampleModel.Name2"></InputNumber>
<button type="submit" value="Save" >
Submit
</button>
</EditForm>
@code {
private ExampleModel exampleModel = new ExampleModel();
public partial class ExampleModel
{
[Required]
public string Name { get; set; }
[Required]
[Range(1, 100, ErrorMessage = "Error Test")]
public int Name2 { get; set; }
}
}
Name 的必需属性有效,而 Name2 的必需属性无效。 Name2 的范围属性按预期工作。
我正在使用 ASP.NET Core 3.1 和 Visual Studio 16.9.4。
默认情况下,Name2 属性 等于零。但是因为允许的最小值是 1,所以在加载表单时看不到零。
一些解决方案:
将 Name2 初始化为 1 到 100 之间的整数值或
将 Name2 声明为可为 null 的 int
public int? Name2 { get; set; }