问题:在使用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版本的。
请问大家怎么解决这个问题的?
好吧,这个问题自己改源码解决了。。。