我在模型Is Nothing
的{{1}}视图中有以下标记:
Create
如果我按原样保留愚蠢的脚手架EmployeeBindingModel
动作,它会将空模型传递给视图,尽管为<div asp-validation-summary="All" class="text-danger"></div>
<input type="hidden" asp-for="EmployeeId" />
键入了控制器。然后在提交时,客户端验证根本不起作用,但这是另一个问题的主题。
这个问题是为什么控制器的模型验证只返回Create
的没有属性名称的以下消息?
EmployeeBindingModel
答案 0 :(得分:3)
客户端jQuery验证的默认值为ignore hidden fields.
ignore(默认值:“:hidden”)类型:选择器。验证时要忽略的元素,只需将其过滤掉即可。使用了jQuery的not-method,因此not()接受的所有内容都可以作为此选项传递。始终忽略类型提交和重置的输入,因此禁用元素
要修复它,您可以覆盖。
<select ng-model="s.end_time" class="form-control" ng-options="option disable when s.start_time for option in config.hrs"></select>
答案 1 :(得分:0)
我相信您需要提供一个名称,以供控制器接收。
<input type="hidden" name="EmployeeId" asp-for="EmployeeId" />
如果您想使用Razor,可以使用以下内容:
@Html.HiddenFor(model => model.EmployeeId)