Kendo UI验证 - 禁用/启用

时间:2015-01-16 10:28:08

标签: javascript jquery validation kendo-ui kendo-validator

我尝试根据用户选择禁用和启用验证。在我的解决方案中,我想仅验证用户是否输入开始日期或结束日期。到目前为止,如果你看part of my solution code我有一些验证工作。我将说明我需要它如何工作的几个场景。

方案1(正在工作)

用户不输入日期,不需要Validaion

方案2(正常工作)

用户输入开始日期或结束日期。这将验证文本框。

方案3(不工作)

用户输入开始和结束日期。单击搜索。然后清除两个日期字段,并验证这两个文本框的显示方式。我希望此时隐藏验证。到目前为止,我能做到这一点的唯一方法是清除文本框,然后再次点击搜索。

提前致谢!

1 个答案:

答案 0 :(得分:1)

请参阅此link

Mine仅验证是否已输入日期,如果日期选择器字段为空,则会隐藏所有验证标签。

它满足您上面描述的场景,除了我的帖子表示成功。

<!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>