我在视图中有以下表格:
@using (Html.BeginForm())
{
@Html.DropDownListFor(m => m.ModelValue, Model.ModelSelectList, " - ", new {@class = "kendo-skip-dropdown"})
@Html.ValidationMessageFor(m => m.ModelValue)
<input type="submit" />
}
我还在$("select").not(".kendo-skip-dropdown").kendoDropDownList();
_Layout.cshtml 中的页面加载代码中调用,以将我的所有select
元素设置为 Kendo DropDownList小部件。
ModelValue == null
对于所有测试都是如此,并且应用了kendo-skip-dropdown
类,下拉列表是标准的,当我尝试发帖而不选择值时,我得到预期的“字段是必需的”客户端错误。如果我删除kendo-skip-dropdown
该类并让 Kendo UI 完成其工作,并尝试在未选择值的情况下发布帖子,则会收到“必须是数字”客户端错误,表明我的optionLabel
默认值现在被接受为值。
我使用 Kendo 时为下拉菜单呈现的 HTML 是:
<span tabindex="0" style="" class="k-widget k-dropdown k-header"><span class="k-dropdown-wrap k-state-default k-state-hover"><span class="k-input">-</span>
<span class="k-select"><span class="k-icon k-arrow-down">select</span></span></span>
<select data-val="true" data-val-number="The field ModelValue must be a number." data-val-required="The ModelValue field is required." id="ModelValue"
name="ModelValue" style="display: none;" class="input-validation-error">
<option>-</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select></span>
这里有什么不同,谁能告诉我如何在非剑道和剑道选择列表之间保持我的验证一致?