zoukankan      html  css  js  c++  java
  • vant-ui表单验证

    <template>
        <div>
            <van-form validate-first @failed="onFailed">
                <div>必填</div>
                <van-field
                    v-model="username"
                    name="用户名"
                    label="用户名"
                    placeholder="用户名"
                    :rules="[
                        { 
                            required: true,
                            trigger:'onBlur', 
                            message: '不能为空' 
                        },
                        {
                            pattern: /d{6}/,
                            message: '请填写6个数字',
                            trigger: 'onBlur'
                        }
                    ]"
                />
                <!-- 通过 pattern 进行正则校验 -->
                <div>通过 pattern 进行正则校验</div>
                <van-field
                    v-model="value1"
                    name="pattern"
                    placeholder="正则校验"
                    :rules="[{ pattern, message: '请输入正确内容' }]"
                />
                <!-- 通过 validator 进行函数校验 -->
                <div>通过 validator 进行函数校验</div>
                <van-field
                    v-model="value2"
                    name="validator"
                    placeholder="函数校验"
                    :rules="[{ validator, message: '请输入正确内容' }]"
                />
                <!-- 通过 validator 进行异步函数校验 -->
                <div>通过 validator 进行异步函数校验</div>
                <van-field
                    v-model="value3"
                    name="asyncValidator"
                    placeholder="异步函数校验"
                    :rules="[{ validator: asyncValidator, message: '请输入正确内容' }]"
                />
                <div style="margin: 16px;">
                    <van-button round block type="info" native-type="submit">提交</van-button>
                </div>
            </van-form>
        </div>
    </template>
    
    <script>
    import { Toast } from 'vant';
    export default {
        data(){
            return{
                username:'',
                value1: '',
                value2: '',
                value3: '',
                pattern: /d{6}/,
            }
        },
        methods:{
            // 校验函数返回 true 表示校验通过,false 表示不通过
            validator(val) {
                return /1d{10}/.test(val);
            },
            // 异步校验函数返回 Promise
            asyncValidator(val) {
                return new Promise((resolve) => {
                    Toast.loading('验证中...');
    
                    setTimeout(() => {
                    Toast.clear();
                    resolve(/d{6}/.test(val));
                    }, 1000);
                });
            },
            onFailed(errorInfo) {
                console.log('failed', errorInfo);
            },
        }
    }
    </script>
    
    <style lang="scss" scoped>
        
    </style>

  • 相关阅读:
    素数路径Prime Path POJ3126 素数,BFS
    Fliptile POJ3279 DFS
    Find the Multiple POJ1426
    洗牌Shuffle'm Up POJ3087 模拟
    棋盘问题 POJ1321 DFS
    抓住那只牛!Catch That Cow POJ3278 BFS
    Dungeon Master POJ2251 三维BFS
    Splitting into digits CodeForce#1104A
    Ubuntu下手动安装Nvidia显卡驱动
    最大连续子序列和
  • 原文地址:https://www.cnblogs.com/fqh123/p/14350950.html
Copyright © 2011-2022 走看看