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

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;
}

你可以将它保留在视图部分,但以防万一,如果有人试图使用邮递员或类似的东西点击 url (api),你必须编写验证逻辑也在控制器中,只是为了确定。