值“”对于

问题描述 投票:0回答:1

我有一个 Blazor Web 应用程序,它在注册表中使用 System.ComponentModel.DataAnnotations 属性进行validation
我有一个名为 NationalCode 的属性,它是 nullable long
我没有在我的 NationalCode 属性上方添加 [必需] 属性
但是,当我想提交表单时,如果我将字段 NationalCode 留空,则会出现此验证消息
“值 '' 对于 'NationalCode' 无效。”

如果我更改代码并添加 [Required] 属性,如下所示:

[Required(ErrorMessage = "Please Enter your national code", AllowEmptyStrings = true)]
public long? NationalCode { get; set; } = null;

出现两条消息:

- "The value '' is not valid for 'NationalCode'."
- "Please Enter your national code"

但我只想显示我的消息。
第一条消息是从哪里来的?
我怎样才能禁用它?

这是我的代码:

<div class="form-floating">
    <InputNumber @bind-Value="Input.NationalCode" autocomplete="nationalCode" aria-required="true" />
    <label for="family">NationalCode</label>
    <ValidationMessage For="() => Input.NationalCode" class="text-danger" />
</div>

 private sealed class InputModel
 {
     public long? NationalCode { get; set; }
 }

.NET版本

8.0.3

c# asp.net validation blazor annotations
1个回答
0
投票

首先你需要明确声明。让我们看一下“Required(ErrorMessage = “请输入您的国家代码”,AllowEmptyStrings = true)]”。那么,NationalCode 是必需的还是可以为空?

之后,您就可以对其进行编程了。

© www.soinside.com 2019 - 2024. All rights reserved.