提问人:Vidya R 提问时间:9/17/2023 更新时间:9/17/2023 访问量:21
Angular Custom Validation using Directive 在 ng- change 中无法正常工作
Angular Custom Validation using Directive not working properly in ng- change
问:
我有一个使用指令的自定义验证器。im 使用 ng-change 调用的方法显示验证。验证仅在第二次更改中显示。
<textarea id="txtEmail" name="emailId" type="text" class="form-control"
ng-change="$ctrl.validateForm()" ng-model-options="{allowInvalid: true}"
validate-Email="$ctrl.emailId"
ng-model="$ctrl.emailId" disabled-exception aria-labelledby="Email">
</textarea>
这里 validate-Email 是使用正则表达式来验证电子邮件的指令。
例如: [email protected] ,在这种情况下,如果我删除最后一个字符“o”,它将不会显示错误验证。但是,如果我删除最后两个字符“co”,它将显示正确的验证。
validateForm 方法类似于
` vm.validateForm = function () {
var errors = [];
angular.forEach(vm.form.$error, function (item, key: string) {
angular.forEach(item, function (errorField) {
errors.push("Email Error");
}`
期望解决方案正确显示验证。
答:
1赞
suman
9/17/2023
#1
首先编写一个函数,如
vm.validate = function () {
$timeout.cancel(callValidation);
callValidation = $timeout(vm.validateForm, 1000);
}
然后在 textarea 中调用“vm.validate”函数,而不是“vm.validateForm”。
我希望这能满足您的疑问。
评论