gpt4 book ai didi

asp.net-mvc-3 - mvc dropdownlistfor 未标记为必需,但仍然是必需的

转载 作者:行者123 更新时间:2023-12-02 02:55:40 32 4
gpt4 key购买 nike

我在 cshtml 文件中有一个下拉列表:

var kategorie_wlasna = new SelectList(
(from z in Model.Kategoria
where !formReadOnly || z.Id == Model.KategoriaWlasnaId
select z),
"Id",
"Nazwa");
...
@Html.DropDownListFor(
model => model.KategoriaWlasnaId,
kategorie_wlasna,
"----",
htmlClassDropDownListDef)

在我的 viewModel 中,我的属性没有任何必需的注释:

public long KategoriaWlasnaId { get; set; }

但该字段仍然是必填字段。在浏览器中我得到:

<select class="input-validation-error form_object1" data-val="true" data-val-number="The field KategoriaWlasnaId must be a number." data-val-required="The KategoriaWlasnaId field is required." id="KategoriaWlasnaId" name="KategoriaWlasnaId">
<option value="">-----</option>
<option value="1227">Wykroczenie</option>
<option value="1228">Przestępstwo</option>
</select>

我错过了什么?

最佳答案

这很正常。值类型始终是必需的。您可以使您的属性可为空:

public long? KategoriaWlasnaId { get; set; }

现在不再需要它,如果用户未在下拉列表中选择任何元素,则其值将为 null。如果您想让它成为必需的并个性化消息,您可以使用必需属性来装饰它:

[Required]
public long? KategoriaWlasnaId { get; set; }

关于asp.net-mvc-3 - mvc dropdownlistfor 未标记为必需,但仍然是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7309577/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com