编写和删除后,该字段成为必填字段

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

我在使用aspnetcore和dataannotationsvalidation时有个奇怪的行为。我使用的是blazor。

我的模型并没有指定该字段在模型中是必需的。

[Display(Name = "Surname 2")]
[StringLength(Lengths.MaxPeopleNameLenght, MinimumLength = Lengths.MinPeopleNameLenght,
    ErrorMessage = "{0} must be between {2} and {1}")]
public string Surname2 { get; set; }

而且是一个简单的blazor视图

<label class="" for="sur2">Nombre 1</label>
<InputText id="sur2" @bind-Value="@_createForm.Surname2"/> 
<ValidationMessage For="@(() => _createForm.Surname2)"/>

模型绑定是有效的,没有问题。如果我不在该字段上写任何东西,那么模型是有效的;但如果我写了任何东西,然后删除了内容,该字段就变成了必填字段。

我需要的是,如果该字段为空,那么对应的模型值为空。这就是为什么我不使用 Required 属性的原因。

有什么办法吗?

jquery asp.net-core data-annotations blazor unobtrusive-validation
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.