如何查看日期输入有效性?

时间:2016-05-02 15:21:02

标签: angularjs forms validation date input

我正在使用AngularJSOnsen-ui创建一个包含输入的移动页面,用户应在该输入中填写有效日期。这是我的代码:

HTML:

<input type="date" autofocus class="search-input" name="dateInput" ng-model="date" ng-keyup="checkDate()"/>

JS:

    function checkDateFn() {
      if (Object.prototype.toString.call($scope.date) === '[object Date]') {
        // it is a date
        if (isNaN($scope.date.getTime())) {  // d.valueOf() could also work
          // date is not valid
        }
        else {
          // date is valid
          // DO SOMETHING
        }
      }
      else {
        // not a date
      }
    }

但它没有得到有效的日期(我不知道为什么)。 我也尝试使用HTML form,我写了这个:

    <form name="dateForm">
      <input type="date" autofocus class="search-input" name="dateInput" ng-model="date"/>
    </form>

但在这种情况下,我不知道在dateForm.dateInput.$valid发生时如何触发函数。

你有更好的方法达到我的目的吗?

1 个答案:

答案 0 :(得分:0)

您可以在dateForm.$invalid

之前停用表单提交按钮

因此,在提交按钮上,您可以添加ng-disabled="dateForm.$invalid"