Kendo UI 验证 - disable/enable
Kendo UI validation - disable/enable
我正在尝试根据用户选择禁用和启用验证。在我的解决方案中,我只想验证用户是否输入了开始日期或结束日期。到目前为止,如果您查看 part of my solution code,我已经完成了一些验证工作。我将列出几个关于我需要它如何工作的场景。
场景 1(工作)
用户没有输入日期,不需要验证
场景 2(工作)
用户输入开始或结束日期。这将验证文本框。
场景 3(不工作)
用户输入开始和结束日期。单击搜索。然后清除两个日期字段和验证是如何显示这两个文本框。我希望此时隐藏验证。到目前为止,我能做到这一点的唯一方法是清除文本框,然后再次点击搜索。
提前致谢!
看到这个link
我的仅在输入日期时验证,如果日期选择器字段为空,kendo 将隐藏所有验证标签。
它满足你上面描述的场景,除了我的成功发布表单。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.dataviz.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.dataviz.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.mobile.all.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script>
</head>
<body>
<form id="myform">
<input name="myDate" class="validateDate" id="startDate" /> <br />
<input name="myDate" class="validateDate" id="endDate" />
<button>Validate</button>
</form>
<script>
$("#myform").kendoValidator({
rules: {
dateValidation: function(input) {
//only validate
if (input.hasClass('validateDate')) {
if(input.val() !== ""){
return kendo.parseDate(input.val(), "dd/MM/yyyy");
}
else{
input.siblings("span.k-tooltip-validation").hide();
return true;
}
}
}
},
messages: {
dateValidation: "Please enter a date in the format dd/mm/yyyy"
}
});
$("#startDate, #endDate").kendoDatePicker({ format: "dd/MM/yyyy", culture: "en-GB" })
</script>
</body>
</html>
我正在尝试根据用户选择禁用和启用验证。在我的解决方案中,我只想验证用户是否输入了开始日期或结束日期。到目前为止,如果您查看 part of my solution code,我已经完成了一些验证工作。我将列出几个关于我需要它如何工作的场景。
场景 1(工作)
用户没有输入日期,不需要验证
场景 2(工作)
用户输入开始或结束日期。这将验证文本框。
场景 3(不工作)
用户输入开始和结束日期。单击搜索。然后清除两个日期字段和验证是如何显示这两个文本框。我希望此时隐藏验证。到目前为止,我能做到这一点的唯一方法是清除文本框,然后再次点击搜索。
提前致谢!
看到这个link
我的仅在输入日期时验证,如果日期选择器字段为空,kendo 将隐藏所有验证标签。
它满足你上面描述的场景,除了我的成功发布表单。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Kendo UI Snippet</title>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.rtl.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.dataviz.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.dataviz.default.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2014.3.1119/styles/kendo.mobile.all.min.css">
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://cdn.kendostatic.com/2014.3.1119/js/kendo.all.min.js"></script>
</head>
<body>
<form id="myform">
<input name="myDate" class="validateDate" id="startDate" /> <br />
<input name="myDate" class="validateDate" id="endDate" />
<button>Validate</button>
</form>
<script>
$("#myform").kendoValidator({
rules: {
dateValidation: function(input) {
//only validate
if (input.hasClass('validateDate')) {
if(input.val() !== ""){
return kendo.parseDate(input.val(), "dd/MM/yyyy");
}
else{
input.siblings("span.k-tooltip-validation").hide();
return true;
}
}
}
},
messages: {
dateValidation: "Please enter a date in the format dd/mm/yyyy"
}
});
$("#startDate, #endDate").kendoDatePicker({ format: "dd/MM/yyyy", culture: "en-GB" })
</script>
</body>
</html>