我必须把我的表单检查数据方法放在哪里?视图、模型或控制器

问题描述

我有一个基本的表单检查数据方法:

我是否必须将这个方法放在视图、模型或控制器中。

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;
}
  • 目前,此方法在一个类中(导出默认的 ContactForm)。
  • 我使用 Vanilla javascript(没有框架或库)。
  • 所以为了分离我的文件,我使用了导出和导入模块。
  • 暂时没有后端逻辑(没有数据库)。当用户填写表单时,他点击提交按钮,这个方法就是调用。

解决方法

您可以将其保留在视图部分,但以防万一,如果有人尝试使用邮递员或类似方法访问 url (api),您也必须在控制器中编写验证逻辑,以确保.

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...