我在使用kendo datepicker自定义验证时遇到了问题(实际上在web上没有很多自定义验证的例子)。我已经设置了datepicker的最小值,但它只有在用户从下拉菜单中选择日期时才起作用。
如果日期是在datepicker的输入字段中键入的,则最小值不会受到影响。我希望至少向用户显示他们输入了无效的日期。
但对我来说,怎么做似乎有点困惑。
这是html部分:(vm是我的控制器)
<form name="myForm" kendo-validator="vm.validator" ng-submit="vm.validate($event)">
<input id="systemValidityFrom" name="systemValidityFrom" data-type="date" kendo-date-picker
k-options="vm.validityFromOption" k-ng-model="vm.nominationVM.ValidityFromDate" placeholder="Start date"
required validationMessage="Enter a valid date" />
<input type="image"
src="/webapp/content/img/globalIcons/save_icon@1x.png"
name="template-save-button"
class="template-btn"
id="template-save-button"
ng-click="vm.saveChanges();" />
<label for="template-save-button">Save</label>
</form>这是JS部分:
vm.nominationVM = {ValidityFromDate: null};
vm.saveChanges = function () {
if (vm.validator.validate()) {
TemplateService.saveTemplate();
}
};
vm.validityFromOption = {
min: new Date()
};例如,如果输入的日期小于今天(强制用户键入大于今天的日期),我希望将其设置为无效。
如果你能帮我解决这个问题,我将不胜感激。
发布于 2018-02-02 16:56:27
是的,根据Telerik的说法,最小和最大选项仅适用于DatePicker的日历(https://www.telerik.com/forums/datepicker---max-and-min)。
如果要评估用户的直接输入,则必须在验证器中创建自定义规则,示例请看下面的实现:https://demos.telerik.com/kendo-ui/validator/custom-validation
https://stackoverflow.com/questions/41002874
复制相似问题