【发布时间】:2018-06-09 12:32:08
【问题描述】:
我正在尝试使用 Vuetify.js 示例在使用 Vue.js 构建的网站上添加一个简单验证的联系表单。我是新手,所以我不确定它应该如何在 Vue 组件中实现。
我想实现一个简单的客户端表单验证,并使其与https://getform.org/ 表单一起使用。
更新:
代码 |联系.vue
(取自 Vuetify.js 表单 example)
<v-form v-model="valid">
<v-text-field
label="Name"
v-model="name"
:rules="nameRules"
:counter="10"
required
name="Name"
></v-text-field>
<v-text-field
label="E-mail"
v-model="email"
:rules="emailRules"
required
name="Email"
></v-text-field>
<v-btn
@click="submit"
:disabled="!valid"
>submit</v-btn>
</v-form>
<form method="post" action="https://www.getform.org/f/[MY_ID_HERE]" id="nativeForm"></form>
脚本
<script>
export default {
name: 'contact',
data () {
return {
snackbar: true,
valid: false,
name: '',
nameRules: [
(v) => !!v || 'Name is required',
(v) => v.length <= 10 || 'Name must be less than 10 characters'
],
email: '',
emailRules: [
(v) => !!v || 'E-mail is required',
(v) => /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(v) || 'E-mail must be valid'
]
}
},
methods: {
submit() {
nativeForm.submit()
}
}
}
</script>
【问题讨论】:
-
看来您没有
http://localhost:8080/api/submit路由?你需要服务器端路由。我认为您的端口8080用于客户端(即vuejs),因此您需要服务器端路由来提交表单 -
@Traxo 是的,但是,我必须创建它才能使表单工作吗?还是没那么简单?
-
对于表单验证,您不需要路由,但对于提交数据,您可能需要。
-
@Traxo 谢谢,我看过这个例子,但我不明白这是我需要的(更新的问题)。但现在我从 getform API 得到
message: null, email: null(问题中更新了代码)。 如果您知道如何将数据传递给第二个表单,这样它就不会发送出去null请发布答案我会接受的
标签: javascript forms vue.js vuetify.js