vue 表单验证 rule.message bug All In One


vue 表单验证 rule.message bug All In One

不使用 rule.message ?


    validateAmount (rule, value, callback) {
        if (value === '') {
            callback(new Error('请输入预算金额'));
        } else if (value < this.amountValue || value > 9999999.99 || !Util.validAmount(value)) {
            callback(new Error(`预算不少于${this.amountValue}元,不超过9999999.99元,仅支持最多2位小数`));
        } else {
            callback();
        }
    },

使用 rule.message ?


    budgetAmountValidate (rule, value, callback) {
        const minValue = this.ruleForm.groupBudgetMode === 'BUDGET_MODE_DAY' ? 300 : 800;
        const invalid = (value < minValue || value > 9999999.99 || !Util.validAmount(value));
        if (value === '') {
            callback(new Error(rule.message));
        } else if (invalid) {
            console.log('invalid', invalid);
            const message = `预算不少于${minValue}元,不超过9999999.99元,仅支持最多2位小数`;
            // rule.message 不更新
            callback(new Error(message));
        } else {
            callback();
        }
    },

使用 rule.message ?

    budgetAmountValidate (rule, value, callback) {
        const minValue = this.ruleForm.groupBudgetMode === 'BUDGET_MODE_DAY' ? 300 : 800;
        const invalid = (value < minValue || value > 9999999.99 || !Util.validAmount(value));
        if (value === '') {
            callback(new Error(rule.message));
        } else if (invalid) {
            console.log('invalid', invalid);
            const message = `预算不少于${minValue}元,不超过9999999.99元,仅支持最多2位小数`;
            // 覆盖 rule.message ?
            rule.message = message;
            callback(new Error(message));
        } else {
            callback();
        }
    },

    budgetAmountValidate (rule, value, callback) {
        const minValue = this.ruleForm.groupBudgetMode === 'BUDGET_MODE_DAY' ? 300 : 800;
        const invalid = (value < minValue || value > 9999999.99 || !Util.validAmount(value));
        if (value === '') {
            // callback(new Error(rule.message));
            const message = `请输入预算金额`;
            // 覆盖 rule.message ?
            rule.message = message;
            callback(new Error(message));
        } else if (invalid) {
            console.log('invalid', invalid);
            const message = `预算不少于${minValue}元,不超过9999999.99元,仅支持最多2位小数`;
            // 覆盖 rule.message ?
            rule.message = message;
            callback(new Error(message));
        } else {
            callback();
        }
    },

demo


    
        
            
                
                
            
            
        
    

refs


Flag Counter

?xgqfrms 2012-2020

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有??xgqfrms, 禁止转载 ???,侵权必究??!