昨天的问题已经加了console.log去查,发现点击按钮后只有‘submit被调用’显示,而bookForm的数据没显示 数据不是已经绑定了吗
查了一下 就是表单校验没通过 我把if(valid)改成if(!valid)就能看到表单信息了,为什么表单不通过呢
这是控制台日志
<el-form
:model="bookForm"
:rules="rules"
ref="bookForm"
label-width="100px"
class="bookForm-container"
style="width:880px"
>
<el-form-item label="书名" prop="bookName">
<el-input v-model="bookForm.bookName"></el-input>
</el-form-item>
<el-form-item label="作者" prop="author">
<el-input v-model="bookForm.author"></el-input>
</el-form-item>
<el-form-item label="出版社" prop="publish">
<el-input v-model="bookForm.publish"></el-input>
</el-form-item>
<el-form-item label="序号" prop="bookId">
<el-input v-model="bookForm.bookId" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="bookForm.price" placeholder='包含小数点后两位'></el-input>
</el-form-item>
<el-form-item label="入库日期" required >
<el-col >
<el-form-item prop="inputDate">
<el-date-picker
type="date"
placeholder="选择日期"
v-model="bookForm.inputDate"
style="width: 100%"
></el-date-picker>
</el-form-item>
</el-col>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm"
>确认入库</el-button>
</el-form-item>
</el-form>
</el-container>
</div>
</body>
</template>
<script>
export default {
name: "book",
data() {
return {
bookForm: {
bookName: '',
author: '',
publish: '',
price:'',
bookId: '',
inputDate: ''
},
rules: {
bookName: [
{ required: true, message: "请输入书名", trigger: "blur" },
{ min: 2, max: 30, message: "长度在 2 到 30 个字符", trigger: "blur" },
],
author: [
{ required: true, message: "请输入作者", trigger: "blur" },
{ min: 2, max: 30, message: "长度在 2 到 30 个字符", trigger: "blur" },
],
publish: [
{ required: true, message: "请输入出版社", trigger: "blur" },
{ min: 4, max: 30, message: "长度在 4 到 30个字符", trigger: "blur" },
],
price: [
{ required: true, message: "请输入价格,包含小数点后两位", trigger: "blur", validator:(rule,value,callback)=>{
if(value===''||(!/^[1-9]{2,3}\.{1}\d{2}$/.test(value))){
callback.$message.error('请输入正确的价格')
}
} },
{ min: 4, max: 6, message: "长度在 4 到 6 个字符", trigger: "blur" },
],
bookId: [
{ required: true, message: "请输入序号", trigger: "blur" },
{ min: 10, max: 10, message: "长度为10个字符", trigger: "blur" },
],
inputDate: [
{
type: "date",
required: true,
message: "请选择日期",
trigger: "change",
},
],
},
};
},
/*JSON.stringify(this.bookForm)*/
methods: {
submitForm() {
console.log('submit 被调用了')
this.$refs.bookForm.validate((valid) => {
if (valid) {
console.log(this.bookForm)
this.axios.post('http://localhost:8080/book/add', this.bookForm).then((res=>{
if(res.data.code===1){
this.$message.success("入库成功")
}else{
this.$message.error("入库失败")
}
}))
} else {
this.$message.error("未通过,入库失败")
}
});
},
-