В ASP.NET у меня есть следующее
public class TestController : Controller
{
public IActionResult Index()
{
return View(new MyModel()
{
Activities = new Activity[]
{
new Activity(){ },
new Activity(){ }
}
});
}
}
public class MyModel
{
public IList<Activity> Activities { get; set; }
}
public class Activity
{
public bool IsActive { get; set; }
}
CSHTML
@model Metatasker.Integration.UI.Controllers.MyModel
<form id="myform">
@for (int i = 0; i < Model.Activities.Count; i++)
{
@Html.CheckBoxFor(x => x.Activities[i].IsActive)
}
</form>
<button id="btn">Click Me</button>
<script type="text/javascript">
$(function () {
function validate() {
var kendoValidator = $('#myform').kendoValidator().data("kendoValidator");
return kendoValidator.validate();
}
$("#btn").click(function () {
alert(validate());
})
})
</script>
Я использую метод Validate Кендо для проверки формы. В приведенном выше коде, когда у меня есть несколько флажков, метод validate()
всегда возвращает false
. Если у меня есть один флажок, то он работает.
У меня есть демо jsfiddle. HTML-код в jsfiddle представляет собой визуализированное представление Razor.