I have a kendo ui multiselect setup using the code method. It populates fine and I can select values. However if I leave the field blank then run a kendo custom kendoValidator the select field never gets to the custom validation. It's like a blank is being marked as valid. Which means it never even makes it to the custom rules.Is there a setting i need when i create the control to tell it that blanks are not OK?
@(Html.Kendo().MultiSelect()
.Name("JobSelected")
.HtmlAttributes(new { @required = "required", @validationMessage = "Enter Job", @class = "form-control job" })
.DataTextField("Text")
.DataValueField("Value")
.Placeholder("Select Jobs...")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("JobsGetAll", "Application");
}).ServerFiltering(true);}).AutoBind(true))
//input is never the multiselect box
var validator = $("#personalDiv").kendoValidator({
rules: {
//implement your custom date validation
custom: function (input) {
if (input.is(".drp")) {
var ms = input.data("kendoDropDownList");
if (ms.value() == "-1") {
input.parent().addClass("k-invalid");
return false;
}
else {
input.parent().removeClass("k-invalid");
return true;
}
}
else if(input.is(".job"))
{
var ms = input.data("kendoMultiSelect");
if (ms.value().length === 0) {
input.parent().addClass("k-invalid");
return false;
}
else {
input.parent().removeClass("k-invalid");
return true;
}
}
else if(input.is(".date") && input.val() != "") {
var currentDate = Date.parse($(input).val());
//Check if Date parse is successful
if (!currentDate) {
return false;
}
//grad date needs to be in the future
if (input.is("#txtGradDate") || input.is("#txtStartDate")) {
var d = new Date();
if (currentDate < d) {
return false;
}
}
}
else if (input.is("[data-role=maskedtextbox]") && input.val() != "") {
var maskedtextbox = input.data("kendoMaskedTextBox");
return maskedtextbox.value().indexOf(maskedtextbox.options.promptChar) === -1;
}
return true;
}
}
}).data("kendoValidator");
if (!validator.validate()) {
$("#personalDiv").removeClass("valid").addClass("invalid");
$('#btnPreviousPage').show();
$('#btnNextPage').show();
break;
} else {
$("#personalDiv").removeClass("invalid").addClass("valid");
}