【发布时间】:2019-08-02 11:33:03
【问题描述】:
Vue 的最佳表单验证实践是什么?我一直在使用简单的 if 树来验证发送按钮的 disabled 属性,但即使只有两个字段,也可能已经有很多情况需要验证,并且考虑到我有不同的表单,我必须大量复制粘贴
这是我用于模式窗口之一的方法:
isCryptoWithdrawalPossible() {
if (this.sendWalletModal.amount || this.sendWalletModal.address) {
if (this.sendWalletModal.amount && !this.sendWalletModal.address) {
this.sendWalletModal.error = this.$t('wallets.wallets.needAddress');
return false;
} else if (!this.sendWalletModal.amount && this.sendWalletModal.address) {
this.sendWalletModal.error = this.$t('wallets.wallets.needAmount')
return false;
}
if (this.sendWalletModal.amount < this.sendWalletModal.method.minAmount) {
this.sendWalletModal.error = this.$t('wallets.wallets.overLimitMinAmount', [this.sendWalletModal.method.minAmount]);
return false;
}
else if (this.sendWalletModal.amount > this.sendWalletModal.method.maxAmount) {
this.sendWalletModal.error = this.$t('wallets.wallets.overLimitMaxAmount', [this.sendWalletModal.method.maxAmount]);
return false;
}
else if (this.sendWalletModal.amount > this.filteredWallets.find( el => el.currencyTitle == this.sendWalletModal.currency).avaliableFunds - this.calculateSendFee(this.sendWalletModal)) {
this.sendWalletModal.error = this.$t('wallets.wallets.insufficientBalance')
return false;
}
else {
this.sendWalletModal.error = '';
return true;
}
} else {
this.sendWalletModal.error = '';
return false;
}
},
【问题讨论】:
标签: validation vue.js