我必须在哪里放置表单检查数据方法?视图、模型或控制器
Where do i have to put my form checking data method? View, Model or Controller
我有一个基本的表格检查数据方法:
我必须把这个方法放在视图、模型或控制器中吗?
checkFormData() {
const nameField = this.form.elements.name;
const firstNameField = this.form.elements.firstName;
const mailField = this.form.elements.mail;
const messageField = this.form.elements.message;
const mailformat = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
const dataFields = {};
if (nameField.value.length < 2 || nameField.value.length > 25) {
dataFields.name = false;
} else {
dataFields.name = true;
}
if (firstNameField.value.length < 2 || firstNameField.value.length > 25) {
dataFields.firstName = false;
} else {
dataFields.firstName = true;
}
if (!mailField.value.match(mailformat)) {
dataFields.mail = false;
} else {
dataFields.mail = true;
}
if (messageField.value.length < 2 || messageField.value.length > 500) {
dataFields.message = false;
} else {
dataFields.message = true;
}
return dataFields;
}
- 目前,此方法在 class(导出默认 ContactForm)中。
- 我使用 Vanilla javascript(没有框架或库)。
- 所以为了分离我的文件,我使用导出和导入模块。
- 暂时没有后端逻辑(没有数据库)。当用户填写表单时,他点击了提交按钮,这个方法被调用。
你可以将它保留在视图部分,但以防万一,如果有人试图使用邮递员或类似的东西点击 url (api),你必须编写验证逻辑也在控制器中,只是为了确定。
我有一个基本的表格检查数据方法:
我必须把这个方法放在视图、模型或控制器中吗?
checkFormData() {
const nameField = this.form.elements.name;
const firstNameField = this.form.elements.firstName;
const mailField = this.form.elements.mail;
const messageField = this.form.elements.message;
const mailformat = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
const dataFields = {};
if (nameField.value.length < 2 || nameField.value.length > 25) {
dataFields.name = false;
} else {
dataFields.name = true;
}
if (firstNameField.value.length < 2 || firstNameField.value.length > 25) {
dataFields.firstName = false;
} else {
dataFields.firstName = true;
}
if (!mailField.value.match(mailformat)) {
dataFields.mail = false;
} else {
dataFields.mail = true;
}
if (messageField.value.length < 2 || messageField.value.length > 500) {
dataFields.message = false;
} else {
dataFields.message = true;
}
return dataFields;
}
- 目前,此方法在 class(导出默认 ContactForm)中。
- 我使用 Vanilla javascript(没有框架或库)。
- 所以为了分离我的文件,我使用导出和导入模块。
- 暂时没有后端逻辑(没有数据库)。当用户填写表单时,他点击了提交按钮,这个方法被调用。
你可以将它保留在视图部分,但以防万一,如果有人试图使用邮递员或类似的东西点击 url (api),你必须编写验证逻辑也在控制器中,只是为了确定。