注意不要用event.keyCode, https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent
js代码
resetBankAccountNumber(id) {
this.setBankAccountValidity('ownBankAccount', true, id);
}
isInputtedValidKey(key) {
if (key !== 'Tab' && key !== 'CapsLock') {
return true;
}
return false;
}
filterValidKeyAndResetBankAccount(id, event) {
if (event && this.isInputtedValidKey(event.key)) {
this.resetBankAccountNumber(id);
}
}
setBankAccountValidity(type, value, id) {
if (this.form['bankAccountNumberField' + id]) {
this.form['bankAccountNumberField' + id]['bankAccountNumber' + id].$setValidity(type, value);
}
}
html代码
<input type="text"
id="bank-account-number-input-{{ vm.debt.id }}"
name="bankAccountNumber{{ vm.debt.id }}"
ng-pattern="/^[0-9]+$/"
ng-maxlength="9"
ng-minlength="2"
required
ng-keyup="vm.validateBankAccountNumber(vm.debt.bankAccount.bsbCode,
vm.debt.bankAccount.bankAccountNumber,
vm.debt.id)"
ng-keydown="vm.filterValidKeyAndResetBankAccount(vm.debt.id, $event)"
ng-model="vm.debt.bankAccount.bankAccountNumber"
placeholder="XXXXXXX" />