需要帮助覆盖 kendo ui 验证
Need help overwriting kendo ui validation
我试图在我的代码中覆盖日期验证,这样我就可以将日期验证为 DD/MM/YYYY。
下面是我的代码,我看到了 error message reading
:
Unable to get property 'methods' of undefined or null reference
有人可以帮忙吗?我猜验证码的覆盖是不正确的。
var validator = $("#searchStartDate").kendoValidator();
var validator = $("#searchStartDate").kendoValidator().data("kendoValidator");
$.validator.methods.date = function (value, element) {
return this.optional(element) || $.kendoDatePicker.parseDate('dd/mm/yy', value);
}
//Picker Start Date
$(document).ready(function () {
$("#searchStartDate").kendoDatePicker({ format: "dd/MM/yyyy", culture: "en-GB" });
});
参见:http://dojo.telerik.com/OWUvU
<!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="searchStartDate" /> <br />
<button>Validate</button>
</form>
<script>
$("#myform").kendoValidator({
rules: {
dateValidation: function(input) {
//only validate
if (input.hasClass('validateDate')) {
return kendo.parseDate(input.val(), "dd/MM/yyyy");
}
}
},
messages: {
dateValidation: "Please enter a date in the format dd/mm/yyyy"
}
});
$("#searchStartDate").kendoDatePicker({ format: "dd/MM/yyyy", culture: "en-GB" })
</script>
</body>
</html>
上面的代码以您请求的格式添加了自定义验证。
您使用的是自定义 jquery 验证脚本和 kendo 验证的组合。
您需要使用完整的 kendo 验证方法,请参阅 - http://docs.telerik.com/kendo-ui/api/javascript/ui/validator 以获得完整的 api.
我试图在我的代码中覆盖日期验证,这样我就可以将日期验证为 DD/MM/YYYY。
下面是我的代码,我看到了 error message reading
:
Unable to get property 'methods' of undefined or null reference
有人可以帮忙吗?我猜验证码的覆盖是不正确的。
var validator = $("#searchStartDate").kendoValidator();
var validator = $("#searchStartDate").kendoValidator().data("kendoValidator");
$.validator.methods.date = function (value, element) {
return this.optional(element) || $.kendoDatePicker.parseDate('dd/mm/yy', value);
}
//Picker Start Date
$(document).ready(function () {
$("#searchStartDate").kendoDatePicker({ format: "dd/MM/yyyy", culture: "en-GB" });
});
参见:http://dojo.telerik.com/OWUvU
<!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="searchStartDate" /> <br />
<button>Validate</button>
</form>
<script>
$("#myform").kendoValidator({
rules: {
dateValidation: function(input) {
//only validate
if (input.hasClass('validateDate')) {
return kendo.parseDate(input.val(), "dd/MM/yyyy");
}
}
},
messages: {
dateValidation: "Please enter a date in the format dd/mm/yyyy"
}
});
$("#searchStartDate").kendoDatePicker({ format: "dd/MM/yyyy", culture: "en-GB" })
</script>
</body>
</html>
上面的代码以您请求的格式添加了自定义验证。
您使用的是自定义 jquery 验证脚本和 kendo 验证的组合。 您需要使用完整的 kendo 验证方法,请参阅 - http://docs.telerik.com/kendo-ui/api/javascript/ui/validator 以获得完整的 api.