我构建了一个函数捕获错误,但它仅适用于标准 HTML5 验证,如果我使用 ng-pattern 它无法捕获错误:( 它是如何制作的?也许类似于 if(error.login$无效)
。
模板:
<input type="text" name="login" class="form-input"
ng-model="newUser.login"
ng-pattern="loginPattern"
required>
<div class="error"
ng-show="registrationForm.login.$invalid && registrationForm.login.$dirty">
{{getSigningError(registrationForm.login.$error)}}
</div>
Controller :
$scope.getSigningError = function(error){
if(angular.isDefined(error)){
if(error.required){
return "Field shouln`t be empty"
}
if(error.email){
return "Enter correct email"
}
if(error.login){
return "Enter correct login"
}
}
}
最佳答案
您可以在您的条件下使用error.pattern
,如下面的代码:
if(error.pattern){
return "Enter the correct format"
}
或者您可以使用以下方法从模板端处理它:
<span ng-if="myForm.login.$error.pattern">Invalid Pattern</span>
观察: ngPattern
与其他验证器一样,将为模式验证器 ng 添加
。因此,如果您想对此类错误应用特定样式,可以使用此类。ng-invalid
和特定类-无效模式
.ng-invalid-pattern {
color: yellow;
}
引用文献
关于javascript - 如何捕获 AngularJS 输入字段中的模式错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45866153/