森欄
2023-08-10 15:16:50
我有一個表格,用戶可以選擇輸入生日。我正在使用 vue.js 并使用 new FormData() 發送請求。如果我不填寫生日字段[HTTP/1.0 400 BAD REQUEST 272ms] *errors Object {birthday: […] } * birthday [“Not a valid date.”, 它會給我錯誤。] 0“不是有效日期?!?如果我填寫該字段,它就可以工作,但我希望它是可選的。謝謝。超文本標記語言<input id="birthday" v-model="newUser.birthday" class="form-control" placeholder="birthday (Opt)" type="date" /> 視圖.js new Vue({ el: "#app", delimiters: ["[[", "]]"], data() { return { newUser: { name: "", surname: "", email: "", title: "", birthday: "", employee_number: "", monthly_meal_limit: "", max_meal_amount: "" }, }; },發送請求的函數 sendInvite(newUser) { let inputCheck = this.validateBeforeSubmit(newUser); if(inputCheck) { let fd = new FormData(); fd.append("name", newUser.name); fd.append("surname", newUser.surname); fd.append("email", newUser.email); fd.append("title", newUser.title) fd.append("employee_number", newUser.employee_number) fd.append("birthday", newUser.birthday) let token = this.getCsrfToken() const headers = new Headers({ "X-CSRFToken": token }) //send the request with the formdata let req = new Request(apiPath, { body: fd, headers, method: "POST" }); fetch( req) .then((response) => response.json()) .then((data) => { this.addNewForm = false, this.newUser = { name: "", surname: "", email: "", title: "", employee_number: 0, birthday: "" }, this.getInvites() }) .catch((error) => console.log("error", error)); } }
1 回答

白衣染霜花
TA貢獻1796條經驗 獲得超10個贊
如果后臺可以的話也許你可以這樣做。并且不要將生日字段添加到表單中
let inputCheck = this.validateBeforeSubmit(newUser);
if(inputCheck) {
let fd = new FormData();
fd.append("name", newUser.name);
fd.append("surname", newUser.surname);
fd.append("email", newUser.email);
fd.append("title", newUser.title)
fd.append("employee_number", newUser.employee_number)
if(newUser.birthday && newUser.birthday.length > 0){
fd.append("birthday", newUser.birthday)
}
......
添加回答
舉報
0/150
提交
取消