我尝试创建一个验证,让表单字段根据不同的字段设置进行传递。在此示例中,location2输入不存在,因此Vue有效方法永远不会返回true。
我的表单是服务器端动态,所以我得到两组不同的字段。有时候location2就在那里,应该在Vue里检查,有时它不在那里,不应该检查。我不知道Vue里面是否有东西可以用来做。我已经尝试过在Vue.set(App, 'location2', 'Test');
之外使用,具体取决于字段的存在,但这并不是很好。
我希望这是可以理解的:)
<div id="app">
<input name="location" v-model="location" value="" type="text" required="required">
<br />
<!-- <input name="location2" v-model="location2" value="" type="text"required="required"> -->
<p>
Location: {{location}}
<br /> Location2: {{location2}}
</p>
<button type="submit" :disabled="valid()">Go</button>
</div>
SD
new Vue({
el: '#app',
data: {
location: '',
location2: ''
},
methods: {
valid: function() {
return !(this.location != '' && this.location2 != '');
}
},
})
答案 0 :(得分:0)
如果输入的except
属性始终与Vue组件的数据属性相匹配,则name
方法可以遍历组件中的每个valid
,并检查是否具有相同名称的财产有效:
input
答案 1 :(得分:0)
您可以检查一下是否设置了this.location2吗?
new Vue({
el: '#app',
data: {
location: '',
location2: ''
},
methods: {
valid: function() {
if (this.location2) {
return !(this.location != '' && this.location2 != '');
}
return this.location == '';
}
},
})