zoukankan      html  css  js  c++  java
  • vue 表单验证 rule message bug All In One

    vue 表单验证 rule message bug All In One

    有 rules message ❌

        <el-form-item
            class="is-required"
            label="应用名"
            prop="appName"
            :rules="[
                {
                    required: true,
                    message: '请输入应用名',
                    trigger: 'blur',
                    validator: validateAppName,
                },
            ]">
            <el-input
                style=" 300px;"
                placeholder="4-20个字符,中文占两个字符"
                v-model="ruleForm.appName"
                @change="appNameChange"
            />
        </el-form-item>
    
    
        appNameChange (value) {
            if(value) {
                this.validateFieldByKey('appName');
            }
        },
        validateAppName  (rule, value, callback) {
            const len = Util.getByteLen(value.trim());
            const wordList = this.prohibitedList.filter(item => value.includes(item));
            if (value === '') {
                // callback(new Error(rule.message));
                callback(new Error('请输入应用名'));
            } else if ( len < 4 || len > 20) {
                callback(new Error('4-20个字符,中文占两个字符,请正确输入'));
            } else if (wordList.length > 0) {
                callback(new Error(`包含违禁词:${wordList.join('、')}`));
            } else {
                callback();
            };
        },
    
    

    注释掉 rules message ✅

        <el-form-item
            class="is-required"
            label="应用名"
            prop="appName"
            :rules="[
                {
                    required: true,
                    // message: '请输入应用名',
                    trigger: 'blur',
                    validator: validateAppName,
                },
            ]">
            <el-input
                style=" 300px;"
                placeholder="4-20个字符,中文占两个字符"
                v-model="ruleForm.appName"
                @change="appNameChange"
            />
        </el-form-item>
    
    
        appNameChange (value) {
            if(value) {
                this.validateFieldByKey('appName');
            }
        },
        validateAppName  (rule, value, callback) {
            const len = Util.getByteLen(value.trim());
            const wordList = this.prohibitedList.filter(item => value.includes(item));
            if (value === '') {
                // callback(new Error(rule.message));
                callback(new Error('请输入应用名'));
            } else if ( len < 4 || len > 20) {
                callback(new Error('4-20个字符,中文占两个字符,请正确输入'));
            } else if (wordList.length > 0) {
                callback(new Error(`包含违禁词:${wordList.join('、')}`));
            } else {
                callback();
            };
        },
    
    

    refs



    ©xgqfrms 2012-2020

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

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


    xgqfrms
  • 相关阅读:
    c#使用SoundPlayer播放wav格式音频
    c#NAudio 录音功能实现
    c#异步方法调用
    c# 读取文件目录下的信息
    angular笔记_1
    js获取form元素,不使用id
    事物回滚机制
    ckplayer跨域调用
    帝国移动pc站文章
    页面切换导航样式也随之改变
  • 原文地址:https://www.cnblogs.com/xgqfrms/p/15562755.html
Copyright © 2011-2022 走看看