我在 MVC3 应用程序中使用不显眼的验证。我有一个带有 [Required] 验证器的下拉列表。这是我的模型(简化):
[Required(ErrorMessage = "Please select From Employee.")]
public string CurrentEmpId { get; set; }
public List<SelectListItem> CurrentEmp { get; set; }
这是我的观点(简化):
@Html.LabelFor(m => m.CurrentAdvisers)
@Html.DropDownListFor(m => m.CurrentEmpId, new SelectList(Model.CurrentEmp, "Value", "Text", Model.CurrentEmpId), "Please Select")
@Html.ValidationMessageFor(m => m.CurrentEmpId)
现在这一切都在工作,直到我将下拉列表放入 JQuery UI 组合框 jqueryui.com/demos/autocomplete/#combobox(参见最后一个参数)。
@Html.DropDownListFor(m => m.CurrentEmpId, new SelectList(Model.CurrentEmp, "Value", "Text", Model.CurrentEmpId), "Please Select", new { @class = "selAutoComplete" })
当我按下提交按钮并且没有选择任何内容时,验证会触发。有一件烦人的事情是行不通的。当一个错误被触发时,如果我通过在下拉列表中选择一些东西来纠正错误,然后标签出来,错误不会消失。当它是一个普通的选择框时,确实发生了这种情况。
<select>
这可能与现在隐藏并被 JQuery 替换的事实有关<input>
,但我不知道如何触发正确的 js 以删除错误消息。
任何帮助将不胜感激!
提前致谢