vue-validation库$resetValidation()方法不起作用,如何修复这个问题?

问题:在使用vue-validation 表单验证库开发的时,发现表单验证结果重置方法$resetValition()并不能生效。

版本:vue:v1.0.20

 vue-validation:v2.1.6

代码如下:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<div id="app">
    <validator name="validation">
        <form novalidate>
            <div class="username-field">
                <label for="username">username:</label>
                <input type="text" id="username" v-validate:username="['required']" />
            </div>
            <div class="comment-filed">
                <label for="comment">comment:</label>
                <input type="text" id="comment" v-validate:comment="{maxlength: 256}" />
            </div>
            <div class="errors">
                <p v-if="$validation.username.required">用户名不能为空</p>
                <p v-if="$validation.comment.maxlength">输入文字超过256个</p>
                <input type="submit" value="send" v-if="$validation.valid" />
                <button type="button" @click="onReset">Reset Validation</button>
            </div>
            <pre>{{$validation | json}}</pre>
        </form>
    </validator>
</div>

<script src="//cdn.bootcss.com/vue/1.0.20/vue.js" type="text/javascript" charset="utf-8"></script>
<script src="//cdn.bootcss.com/vue-validator/2.1.6/vue-validator.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">
    
    new Vue({
        el: '#app',
        methods: {
            onReset: function () {
                this.$resetValidation();
            }
        }
    });
    
</script>
</body>
</html>

这是官方example里的reset demo,但是官方的也不起作用,不知道官方是怎么通过测试的,还是说我自己的问题?虽然看到vue-validation v3.0.0-alpha.1版本修复了这个问题,但是感觉3.0版本升级太大,vue也得升级,就想着能不能修复这个问题用着v2.0版本的。

请问大家怎么解决这个问题的?

阅读 7.2k
1 个回答

好吧,这个问题自己改源码解决了。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题