nde*_*ker 13 javascript angularjs
表单的默认验证我按预期工作.但是,当用户键入有效的电子邮件地址和最少三个字符的密码时,这并不意味着登录凭据有效.
所以我的问题是:
如何在服务器端验证后将模型电子邮件和密码设置为无效 ,因此输入字段将获取类ng-invalid而非ng-valid.
我目前的代码
function IndexCtrl( $scope, $http )
{
$scope.form = {};
$scope.submitLogin = function ()
{
$http.post( '/api/auth/login', $scope.form ).success( function( data )
{
if ( !data.success )
{
$scope.form.errors = [ data ];
// here I also want to mark the models 'email' and 'password' as invalid, so they both get the class 'ng-invalid'
}
else
{
$location.path( '/' );
}
});
};
}
Run Code Online (Sandbox Code Playgroud)
Tosh shimayama给出了正确的答案.$ setValidity是一个方法,它NgModelController取两个参数:validationErrorKey和isValid.
有关$ setValidity的更多信息
更改有效性状态,并在控件更改有效性时通知表单.(即如果给定的验证器已被标记为无效,则不通知表格).
源代码和进一步信息AngularJS:NgModelController
| 归档时间: |
|
| 查看次数: |
7725 次 |
| 最近记录: |