2015-01-09 150 views
0

我想覆盖我的代码中的日期验证,所以我可以验证日期为DD/MM/YYYY。
下面是我的代码和我被所示的error message reading需要帮助覆盖kendo ui验证

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" }); 
    }); 
+0

你还有这个问题吗? – wildavies

+0

是的,我也尝试了下面的建议,没有运气:( – theron

+0

发生了什么?你有没有得到一个不同的错误?如果你回应的评论,而不是只是把它标记为无益,它会更容易帮助你。添加您的HTML代码块以及? – wildavies

回答

-1

参见: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验证的组合。 您需要使用完整的剑道验证方法,请参阅 - http://docs.telerik.com/kendo-ui/api/javascript/ui/validator以获取完整的api。

+0

这个工作适合您吗? – wildavies

+0

谢谢你,它是这样做的! – theron