使用$pristine查看表单是否为空,并$invalid查看表单是否已填充但是包含无效值(例如,可能是错误的电子邮件)。
Save
现在,您的提交按钮将被禁用(不可点击),直到您的表单有效。
修改强>
要仅使用HTML5验证进行验证,请在表单中添加name属性,并在提交期间访问其有效性:
...$scope.signIn = function(){
if ($scope.myForm.$valid){
// do sign in logic here
}
}
甚至可以在提交按钮上内联逻辑(如果有效):
所以只有在第一部分为真时才会调用signIn。
编辑2
根据AngularJS docs here上的信息,您还可以尝试以下操作吗?:
Save
$scope.signIn = function () {
if ($scope.myForm.email.$error.required) {
// ...
}
};
我们现在遵循$scope.myForm.email.$error.required语法方法。
尝试记录$scope.myForm或$scope.myForm.email并查看修改值时获得的内容。