【发布时间】:2015-02-18 11:08:37
【问题描述】:
我正在学习角度,现在我创建了应该显示日期的输入(类型:文本),它有像“99/99/9999”这样的 ui.mask,它在模块中验证不通过(取消阻止按钮)如果日期错误,我的意思是:00/00/0000 或 12/12/1700,但输入不显示红框,它显示为有效格式,如何根据模块验证显示红框?
HTML
<input
id="dob"
type="text"
class="form-control cell-height form-input"
ng-model="createAccount.dob"
ui-mask="99/99/9999"
placeholder="D.O.B. (mm/dd/yyyy)"
required/>
CONTROLLER
var validateDob = function () {
try {
var date = moment.utc($scope.createAccount.dob, "MM/DD/YYYY");
if ($scope.patient == null) $scope.patient = {};
if (!date.utc().isValid()) return false;
if (date.utc().date() == 0 || date.utc().year() == 0) return false;
if (date.utc().isAfter(moment().utc())) return false;
if (date.utc().isSame(moment().utc())) return false;
if (!date.utc().isAfter(moment.utc().subtract(150, 'years'))) {
return false;
}
$scope.createAccount.dateOfBirth = date.utc();//.format("YYYY/MM/DD");
return true;
}
catch (err) {
return false;
}
};
【问题讨论】:
标签: javascript angularjs validation date