javascript - VueJS 输入验证 Push/Pop 到数组

标签 javascript vue.js vuejs2

如果输入的用户名或密码为空,如何将项目添加到 hasErrors 数组中;如果输入不为空,如何将其删除,以便动态启用/禁用提交按钮上的禁用类?

<form>
    <input type="username" v-model="form.username">
    <input type="password" v-model="form.password">
    <input type="submit" :disabled="hasErrors.length > 0">
</form>

<script>
    var app = new Vue({
        el: '#app',
        data: {
            form: {
                username = '',
                password = '',
                hasErrors: []
            }
        }
    });
</script>

最佳答案

您可以在这种情况下使用计算属性:

<script>
    var app = new Vue({
        el: '#app',
        data: {
            form: {
                username: '',
                password: '',
            }
        },
        computed: {
            hasErrors: function(){
                var errors = [];
                if(this.form.username == '') errors.push('username');
                if(this.form.password == '') errors.push('password');
                return errors;
            }
        }
    })
</script>

然后使用

<input type="submit" :disabled="hasErrors.length > 0">

关于javascript - VueJS 输入验证 Push/Pop 到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46087309/

相关文章:

javascript - 谷歌浏览器 : How to determine which window has generated WebRequest?

javascript - 在父匹配中多次匹配捕获组

javascript - 相邻位置的下拉菜单似乎纠缠在一起

vue.js - 选择完成后,Vue Multiselect : How to send console. 记录

javascript - 使用 v-if 隐藏后,文件输入不会显示文件名

javascript - Vue 组件不对插件数据更改使用react

Javascript推送无法将对象添加到数组

javascript - 我想在 Electron js 中为关于应用程序(对于 windows)创建自定义子窗口

javascript - vuejs - 如何将 Prop 和事件动态传递给动态组件

javascript - 如何将焦点设置在 Vuejs 2 中 v-for 内渲染的文本区域上?