当用户输入 4 位数字为 9999 时,我必须验证显示错误消息的文本框。所以我使用 ng-pattern 方法显示错误消息,但 ng-pattern 不允许更新对象。我的代码是下面给出:
<md-input-container class="" style="margin:5px 0px; margin-right:15px;">
<input type="password" name="numCode" ng-model="datas.part[1].Value" ng-value="datas.part[1].Value" maxlength="4" ng-pattern="/(?!9{4})\d{4}/" ng-keydown="vm.testCode(datas.part[1].Value)" class="ng-pristine ng-valid md-input ng-touched" aria-invalid="false" style="" autocomplete="off" required>
<div ng-messages="vm.formName.numCode.$error" class="allign-padding-bottom" role="alert">
<div ng-message-exp="['minlength','maxlength','pattern']">
{{::'testcode'|translate}}
</div>
</div>
</md-input-container>
vm.testCode= function (val) {
console.info("sdf",val);
vm.showConfirmUserCode = true;
///vm.isDeviceEnabled = false;
}
在 ng-keydown 方法中,模型没有更新。它在 vm.formName.numCode.$viewvalue 中显示未定义。请帮助我解决这个问题并检查我的 ng-pattern。如果我删除我的 ng-pattern 意味着我有更新的模型