When I use the Kendo UI ComboBox and DropDownList controls in my MVC Razor views, client-side validation fails. Here is an example:
@using Kendo.Mvc.UI @model KendoDropDownTest.Models.TestModel @{ ViewBag.Title = "Kendo Drop Down and Combo Box Test"; } <h2>Kendo Drop Down and Combo Box Test</h2> @using (Html.BeginForm()) { @Html.ValidationSummary() <div> @Html.LabelFor(x => x.DropDownValue) @(Html.DropDownListFor(x => x.DropDownValue, Model.Options, "-- Select an Option --")) @Html.ValidationMessageFor(x => x.DropDownValue) </div> <fieldset> <legend>Kendo</legend> <div> @Html.LabelFor(x => x.KendoComboValue) @(Html.Kendo().ComboBoxFor(x => x.KendoComboValue) .BindTo(Model.Options.Select(x => x.Text))) @Html.ValidationMessageFor(x => x.KendoComboValue) </div> <div> @Html.LabelFor(x => x.KendoDropDownValue) @(Html.Kendo().DropDownListFor(x => x.KendoDropDownValue) .OptionLabel("-- Select an Option --") .BindTo(Model.Options)) @Html.ValidationMessageFor(x => x.KendoDropDownValue) </div> </fieldset> <input type="submit" value="Submit" /> }
And the corresponding model:
public class TestModel { [Required] public string DropDownValue { get; set; } [Required] public string KendoComboValue { get; set; } [Required] public string KendoDropDownValue { get; set; } public SelectListItem[] Options = new[] { new SelectListItem { Text = "Option 1", Value = "1" }, new SelectListItem { Text = "Option 2", Value = "2" }, new SelectListItem { Text = "Option 3", Value = "3" }, }; }
The non-Kendo UI drop-down list accordingly displays a validation error when submitting the form, but Kendo controls do not. Please let me know if there is a way to activate client-side validation for these controls without having to manually connect it.
A complete sample solution is attached to the following Kendo forum post: http://www.kendoui.com/forums/mvc/dropdownlist/mvc-client-validation-not-working.aspx
source share