Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
543 views
in Technique[技术] by (71.8m points)

vue data和methods的一些问题

目前在用element-ui做一个项目,其中涉及到用里边的表单验证组件。。。
如果有使用过的朋友请解答一下。

<template>
    <el-form :model="register" :rules="rules" ref="register" >
         <el-form-item prop="email">
                <el-input v-model="register.email" id="register_email" name="email" type="email"  placeholder="电子邮箱">
                </el-input>
        </el-form-item>
    </el-form>
</template>
<script>
export default {
    data() {
        return {
            register: {
                email: '',
                mobile: '',
                username: '',
                password: ''
            },
            rules: {
                email: [
                   { required: true, message: '请输入邮箱'},
                   { type: 'email', message: '请输入正确的邮箱格式'},
                    // 验证完成后的回调
                   function(){
                    console.log('success')
                   }
                ]
            }
        }
    },
    methods: {
        emailCheck: function(){
            var emailUrl = 'http://cuv.hd.dev:8080/auth/email/unique'
            this.$http.get(emailUrl+'?res='+this.register.email).then(
                res => {
                    console.log(res.data)
                },res => {

                }
            )
        }
    }
}
</script>

<style>
</style>        

如何在验证成功后的回调里面执行emailCheck这个方法??

可能问题表述的不是很清晰,望谅解。。。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
import axios from 'axios'

export function EmailCheck(rule, value, callback) {
    const params = {
        email: value
    }

    axios.get('/api/emailcheck', { params: params }).then(rsp => {
        if (rsp.result === true) {
            //email exists, this means validation fails
            callback(new Error('email已存在'))
        }
        else {
            //email does not exist, therefore this validation success
            callback()
        }
    })
}

import { EmailCheck } from xxx;

...

rules: {
    email: [
        { required: true, message: '请输入email', trigger: 'blur' },
        { validator: EmailCheck, trigger: 'blur' }
    ]
}

...

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...