我在cshtml文件中有一个dropdownlist:
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)
在我的视图模型我有属性没有任何注释为必需:
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属性来装饰它:
[Required] public long? KategoriaWlasnaId { get; set; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。