1

我有使用外键列的内联编辑网格。在 foreignKey.cshtml 中,我还添加了选项标签(“请选择”)。

意见:

columns.ForeignKey(p => p.EmployeeID, (System.Collections.IEnumerable)ViewData["testStatus"], "EmployeeID", "EmployeeName");

模型:

 [Required(ErrorMessage = "Required")]
 [DisplayName("Employee ")]
 [UIHint("GridForeignKey")]
 public int EmployeeID { get; set; }

共享/GridForeignKey.cshtml

@(
 Html.Kendo().DropDownList()
        .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
        .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
        .OptionLabel("Select value")

)

我的问题是,我如何验证用户是否选择“请选择”选项并显示所需的消息。谢谢你

谢谢

4

2 回答 2

1

尝试将 range 属性而不是 required 添加到模型中。您的第一项“请选择”很可能被赋予值 0 或“请选择”,因此所需的属性不会满足您的需求,因为从技术上讲,该输入具有值。

[Range(1, int.MaxValue, ErrorMessage = "Please Select A Value")]
public int EmployeeID { get; set; }

假设您还没有选定的值,请尝试将选定的索引添加到下拉列表中。

@(
 Html.Kendo().DropDownList()
    .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(""))
    .BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
    .OptionLabel("Select value")
    .SelectedIndex(0)
)
于 2013-01-30T19:45:13.710 回答
0

您是否尝试将 [Required] 数据注释属性添加到您的 Model 属性?如果没有,有什么区别吗?

于 2012-12-11T20:30:22.853 回答