Home  >  Q&A  >  body text

javascript - 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>
<p id="app">
    <validator name="validation">
        <form novalidate>
            <p class="username-field">
                <label for="username">username:</label>
                <input type="text" id="username" v-validate:username="['required']" />
            </p>
            <p class="comment-filed">
                <label for="comment">comment:</label>
                <input type="text" id="comment" v-validate:comment="{maxlength: 256}" />
            </p>
            <p 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>
            </p>
            <pre>{{$validation | json}}</pre>
        </form>
    </validator>
</p>

<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版本的。

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

高洛峰高洛峰2767 days ago970

reply all(1)I'll reply

  • 天蓬老师

    天蓬老师2017-04-11 11:01:55

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

    reply
    0
  • Cancelreply