vue view 表单验证正常逻辑

<template>
    <Form ref="formInline" :model="formInline" :rules="ruleInline" inline>
        <FormItem prop="user">
             <InputNumber :max="100" :min="0" step="1" v-model="formInline.user"></InputNumber>
        </FormItem>
        <FormItem prop="password">
           <InputNumber :max="100" :min="0" step="1" v-model="formInline.password"></InputNumber>
        </FormItem>
        <FormItem>
            <Button type="primary" @click="handleSubmit(‘formInline‘)">登录</Button>
        </FormItem>
    </Form>
</template>
<script>
    export default {
        data () {
           const user = (rule, value, callback) => {
                if (value == 0) {
                    callback(new Error(‘用户名不能为空‘));
                } else {
                    callback();
                }
            };
            const password = (rule, value, callback) => {
                if (value == 0) {
                    callback(new Error(‘密码不能为空‘));
                } else {
                    callback();
                }
            };
            return {
                formInline: {
                    user: 0,
                    password: 0
                },
                ruleInline: {
                    user: [
                        { required: true, validator: user, trigger: ‘change‘ }
                    ],
                    password: [
                        { required: true, validator: password, trigger: ‘change‘ },
                    ]
                }
            }
        },
        methods: {
            handleSubmit(name) {
                this.$refs[name].validate((valid) => {
                    if (valid) {
                        this.$Message.success(‘Success!‘);
                    } else {
                        this.$Message.error(‘Fail!‘);
                    }
                })
            }
        }
    }
</script>

<template>

<Form ref="formInline" :model="formInline" :rules="ruleInline" inline>

<FormItem prop="user">

<InputNumber :max="100" :min="0" step="1" v-model="formInline.user"></InputNumber>

</FormItem>

<FormItem prop="password">

<InputNumber :max="100" :min="0" step="1" v-model="formInline.password"></InputNumber>

</FormItem>

<FormItem>

<Button type="primary" @click="handleSubmit(‘formInline‘)">登录</Button>

</FormItem>

</Form>

</template>

<script>

export default {

data () {

const user = (rule, value, callback) => {

if (value == 0) {

callback(new Error(‘用户名不能为空‘));

} else {

callback();

}

};

const password = (rule, value, callback) => {

if (value == 0) {

callback(new Error(‘密码不能为空‘));

} else {

callback();

}

};

return {

formInline: {

user: 0,

password: 0

},

ruleInline: {

user: [

{ required: true, validator: user, trigger: ‘change‘ }

],

password: [

{ required: true, validator: password, trigger: ‘change‘ },

]

}

}

},

methods: {

handleSubmit(name) {

this.$refs[name].validate((valid) => {

if (valid) {

this.$Message.success(‘Success!‘);

} else {

this.$Message.error(‘Fail!‘);

}

})

}

}

}

</script>

时间: 2024-10-02 00:07:23

vue view 表单验证正常逻辑的相关文章

jquery validate表单验证插件-推荐

1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家.     1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素  3.鼠标离开后的正确.错误提示及鼠标移入时的帮助提醒 对于初学者而言,html表单验证是一项极其琐碎的事情.要做好表单验证,需要准备以下基本要素: 1.html表单结构:包含需要校验的表单元素: 2.js逻辑控制:在需要校验的表单元素上绑定事件,如点击.获取焦点.失去焦点等事件,并设置这些事件对应的执行函数: 3.css样式设置:针对需要校验的

Django中的Form表单验证

回忆一下Form表单验证的逻辑: 前端有若干个input输入框,将用户输入内容,以字典传递给后端. 后端预先存在一个Form表单验证的基类,封装了一个检测用户输入是否全部通过的方法.该方法会先定义好错误信息的字典,并会遍历类的所有属性(对应前端待验证的输入域),调用各自的验证方法,将错误信息(两类,必要与否以及格式正确与否)存入字典,并得出最终的验证结果.在使用时,需要定义继承自Form基类不同的Form类,以对应有着不同输入域的Form表单.在拿到前端给的字典前,要先初始化自定义From类,直

Vue如何使用vee-validate表单验证

Vue项目遇到要表单验证了吧,对我来说表单验证是个很纠(dan)结(teng)的内容,各种判断凌乱到飞起.往常使用jquery的validate插件做表单验证方便吧,你也可以在Vue里引入jquery的validate插件(如何引入jquery在我上一篇博文有介绍,点击查看).但是我们是做vue项目也,不到实在解决不了还是建议不要引入,因为Vue自己就有表单验证的插件,那就是vee-validate. 我在这并不是详细讲解vee-validate的使用功能,只是快速了解如何在项目里使用vee-v

vue表单验证,vee-Validate

1.下载安装 npm install vee-validate --save 2.main.js 添加 //vue表单验证插件 import VeeValidate,{Validator} from 'vee-Validate'; //没有配置过的错误提示默认使用英文显示的, //如果想要用中文显示需要我们手动配置一下 import zh from 'vee-validate/dist/locale/zh_CN';   Validator.localize('zh', zh); //blur 失

关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有: 1.使用此方法前检查prop一定必须要写在<el-form-item>上面,写在里面的input上或者其他任何地方都不行(el-form-item prop属性绑定) 2.el-form rules,model属性绑定,ref标识 自定义表单验证的坑: 一.valid

django 将view视图中的对象传入forms表单验证模块中

最近在写一个用户详情表单验证模块时出现了一个问题.我想通过forms表单这个模块,实现前端的表格渲染,(如果有值带值渲染到表格中,如果没有值就渲染为空白),并且可以在提交表格后获得forms模块的表单校验功能.这里就出现一个问题了..如果有值就带值渲染到页面,这个可以用js或jq来实现.很简单.但是,例如在定义model时有个别的字段是定义为唯一的unique,那么问题来了.如果将当前表再次提交的话,forms验证组件会反馈错误信息,提示该内容已存在了.那么这时候就需要引入一些条件将自己提交的排

Vue+Element-UI 多个form表单验证

在开发的过程中   有时根据业务需求提交的表单内容分区分块  内容繁多 业务控制相对复杂的时候  我们应该将页面内容分成若干个组件  这样方便后期维护查找问题  不然时间长了后期维护找问题头都大了 如上图所示  页面表单分为基本设置,上架设置,更多设置3大块  分别将3大块写到3个组件(A,B,C) 提交表单的时候我们要进行表单验证 思路:利用ES6 Promise异步控制 代码如下 组件A <el-form :model="ruleForm" :rules="rule

vue+elementui 封装表单验证

其实很简单:步骤1:先用element 把页面写出来:步骤2.规则验证,需要自定义验证的,引入对应的自定义验证方法, 3.封装一个自定义验证的js. 1.先把结构写出来: 注意: from 表单上有model(绑定数据),ref(提交的时有用),rules(对表单的验证规则),这三者缺一不可. 2.代码: <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width

SpringMVC与SiteMesh2.4无缝整合并借助JSR303规范实现表单验证

首先是web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht