Javascript 如何清除模糊上的无效日期字段?(AngularJS)

Javascript 如何清除模糊上的无效日期字段?(AngularJS),javascript,angularjs,html,date,Javascript,Angularjs,Html,Date,假设我有一个带有type='date'属性的字段。未触及时,它将日期显示为mm/dd/yyyy。当用户输入输入时,比如说2016年3月21日,删除其中一个字段(即2016年3月23日),然后单击字段外部(“模糊”)时,是否可以使用AngularJS ng blur指令将字段清除回该状态 在html中 <input type="date" ng-model="date" ng-blur="blured()" /> 另见: ng blur 在html中 <input type="

假设我有一个带有
type='date'
属性的
字段。未触及时,它将日期显示为mm/dd/yyyy。当用户输入输入时,比如说2016年3月21日,删除其中一个字段(即2016年3月23日),然后单击字段外部(“模糊”)时,是否可以使用AngularJS ng blur指令将字段清除回该状态

在html中

<input type="date" ng-model="date" ng-blur="blured()" />
另见:

ng blur

在html中

<input type="date" ng-model="date" ng-blur="blured()" />
另见:

在HTML中

希望这对你有用,对我有用

在HTML中

希望这对你有用,对我有用


设置范围变量
ng model
绑定到新的
Date()
?新的日期对象具有当前日期的值奇怪的是,您似乎必须通过本机JS或jQuery重置它:
$(“输入”).val(null)-请看这里:酷,非常感谢!任何人在这个问题上绊倒,约翰内斯的解决方案是有效的!设置范围变量
ng model
绑定到新的
Date()
?新的日期对象具有当前日期的值奇怪的是,您似乎必须通过本机JS或jQuery重置它:
$(“输入”).val(null)-请看这里:酷,非常感谢!任何人在这个问题上绊倒,约翰内斯的解决方案是有效的!这不会产生预期效果,因为尽管模型设置为null,但输入字段视图仍显示无效日期(即02/mm/2017)。我需要一种方法来清除视图和模型。如果您要询问,无效输入的$viewValue值已设置为空字符串,因此不起任何作用。这没有达到预期效果,因为尽管模型设置为null,但输入字段视图仍显示无效日期(即02/mm/2017)。我需要一种方法来清除视图和模型。如果您要询问,无效输入上的$viewValue的值已经设置为空字符串,因此不做任何操作。
<input type="date" ng-model="date" ng-blur="blured(date,$event)" />
$scope.blured= function (inputdate, e) {
          if (!e.ctrlKey && !e.metaKey && (e.keyCode == 32 || e.keyCode > 46))
              doFormat(e.target);
          if (e.target.value.length == 10) {
              $scope.IsValidDate(1, e.target.value);
          }
      }

      //id is used to check which date control
      //method is used to validate entered date in MM/dd/yyyy format
      $scope.IsValidDate = function (id, dateValue) {
          var formats = ['MM/DD/YYYY']
          if (!moment(dateValue, formats).isValid()) {
              if (id == 1) {
                  $scope.date = null;
              }
          }
      }