脏但空的日期字段在角度上无效

时间:2015-06-26 01:44:16

标签: angularjs

我有一个输入日期字段,我想通过Angular验证。

<input ng-model="date" type="date" class="form-control" name="date">

当用户修改字段然后删除所有更改时,输入将保持无效状态,因为输入不是必需的,一旦从输入中删除所有内容,这不应该有效。

1 个答案:

答案 0 :(得分:0)

angular简化了事情,连接到ngModal的空白输入返回undefined值,而native javascript保存值为''(空字符串)。 示例HTML:

<h1>Angular '' = "undefined";</h1>
<main ng-app="demo" ng-controller="demoCtrl">  
  <input ng-model="someModel" ng-blur="showVal(someModel)" type="text"/>
</main>
<h1>Native JS</h1>
<input type="text" onblur="javascript:alert(this.value)"/>
<h1>Blur each element to see the value returned from each in an alert</h1>

示例JS:

 (function(angular) {
   "use strict";
   var demo = angular.module('demo', []);
   demo.controller('demoCtrl', function($scope) {

     $scope.showVal = function(valu) {
       return alert(valu);
     };

   });
 })(window.angular);

此代码在此处演示:http://codepen.io/nicholasabrams/pen/GJOVVP

为了简单起见,它将通过AngularJS警告空文本节点的值,然后再使用内联JS警告。这应该告诉你我的意思。