Kur*_*ula 5 javascript validation date angularjs
我完全是Angularjs的新手,并试图验证2个场景.我有2个文本框,一个带有开始日期,另一个带有结束日期.我正在查
我尝试了下面的代码,但没有用.请给我任何建议.
Html代码
<label for="endDate" class="control-label">Start Date:</label>
<div>
<input type="text" class="form-control"
id="startDate" ng-model="startDate" />
</div>
<label for="text" class="control-label">End Date:</label>
<div>
<input type="text" class="form-control"
id="endDate" ng-model="endDate"
ng-change='checkErr(startDate,endDate)' />
</div>
<span>{{errMessage}}</span>
Run Code Online (Sandbox Code Playgroud)
js代码
$scope.checkErr = function(startDate,endDate){
$scope.errMessage = '';
$scope.curDate = new Date();
if(startDate < endDate){
$scope.errMessage = 'End Date should be greate than start date';
return false;
}
if(startDate < curDate){
$scope.errMessage = 'Start date should not be before today.';
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
您在第一位上反转了逻辑,您必须从startDate构造一个新日期以与今天的日期进行比较.你也可以将curDate设置为范围,$scope.curDate = new Date()但之后你将它引用为curDate没有它,$scope因此它是未定义的.最后,你还需要演员stateDate和endDate约会.否则你只是比较字符串.
$scope.checkErr = function(startDate,endDate) {
$scope.errMessage = '';
var curDate = new Date();
if(new Date(startDate) > new Date(endDate)){
$scope.errMessage = 'End Date should be greater than start date';
return false;
}
if(new Date(startDate) < curDate){
$scope.errMessage = 'Start date should not be before today.';
return false;
}
};
Run Code Online (Sandbox Code Playgroud)
工作示例:http://jsfiddle.net/peceLm14/
| 归档时间: |
|
| 查看次数: |
31333 次 |
| 最近记录: |