我有以下代码
<div ng-class"{'has-error': myInputForm.$valid}">
...other stuff....
</div>
我喜欢这种验证,上面的代码也适用。我想要做的是比较两个日期值,使它看起来像这样....
<div ng-class"{'has-error': myStartDate < eventStartDate}">
...other stuff....
</div>
这不起作用,也没有,但如果它确实
会很好<div ng-class"{'has-error': moment(myStartDate).isBefore(eventStartDate)}">
...other stuff....
</div>
我可以创建一个函数来根据参数
返回类<div ng-class"getClass(myStartDate,eventStartDate)">
...other stuff....
</div>
但我还有其他需要检查的东西,所以我想内联这样做。让我知道你有什么想法,并提前感谢。
答案 0 :(得分:2)
不要忘记ng-class
之后的等号。
你有ng-class"{'has-error': myStartDate < eventStartDate}">
。它应该是ng-class="{'has-error': myStartDate < eventStartDate}"
。 =
非常重要!
另外,请确保您的日期确实是日期而不是字符串。
这是一个适合我的小型演示页面。您可以向下调整我的开始日期,并查看已应用的错误类。
祝你好运!
<!doctype html>
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script>
angular.module('myApp', [])
.controller('MyController', ['$scope', function($scope) {
$scope.myStartDate = new Date(2015, 6, 29);
$scope.eventStartDate = new Date(2015, 6, 28);
}]);
</script>
<style> .has-error { background-color: red; } </style>
</head>
<body>
<form ng-controller="MyController">
<label for="start-in">My Start Date</label>
<input id="start-in" type="date" ng-model="myStartDate">
<label for="event-in">Event Start Date</label>
<input id="event-in" type="date" ng-model="eventStartDate">
<div ng-class="{'has-error': myStartDate < eventStartDate}">
{{myStartDate | date: "MM/dd/yyyy"}} -- {{eventStartDate | date: "MM/dd/yyyy"}}
</div>
</form>
</body>
</html>