Validation hooks

onValidate()

在默认表单验证之前调用。 如果您想在提交表单之前执行自定义代码,或者想要进行自己的验证,这将非常有用。

Returns:

bool|NULL|void 返回 TRUE 以跳过默认验证并继续提交表单。 返回 FALSE 以跳过默认验证并阻止表单提交。 返回 NULL 则继续进行默认验证。

MauticFormCallback['formname'] = {
    onValidate: function () {
        var email = document.getElementById('mauticform_input_formname1_email').value;
        if (email.includes('@gmail.com')) {
            alert('Please use a work email address.');

            // return FALSE to stop the form submission
            return FALSE;
        }

        // return NULL|void to continue with default validation or return TRUE to skip it
    },
};
onValidateStart()

在默认表单验证的开始时调用。

Returns:

void

MauticFormCallback['formname'] = {
    onValidateStart: function () {
        // do some custom stuff
    },
};

Note

如果 onValidate() 钩子返回 TRUE,则不会调用此方法。

onValidateEnd()

在表单通过默认验证或 onValidate 钩子进行验证后调用。

Arguments:
  • isFormValid (bool()) – 如果表单验证成功,则为 TRUE;如果未成功,则为 FALSE。

Returns:

void

MauticFormCallback['formname'] = {
    onValidateEnd: function (isFormValid) {
        // do some custom stuff
    },
};
onErrorMark()

在更新字段元素的验证错误之前调用。

Arguments:
  • fieldValidationObject (object()) –

    • fieldValidationObject.containerId 字段容器元素的 ID。

    • fieldValidationObject.valid TRUE|FALSE

    • fieldValidationObject.validationMessage 错误消息。

Returns:

bool|NULL|void 返回 TRUE 以跳过默认行为,即向字段容器元素的 mauticform-errormsg 类附加验证消息。

var fieldValidationObject = {
    containerId: 'mauticform_formname_email',
    valid: FALSE,
    validationMessage: 'Email is required!'
};

MauticFormCallback['formname'] = {
    onErrorMark: function (fieldValidationObject) {
        if ('mauticform_formname_email' == fieldValidationObject.containerId && !fieldValidationObject.valid) {
             // do something custom
        }
    },
};
onErrorClear()

在清除字段的验证错误之前调用。

Arguments:
  • fieldContainerId (string()) – 字段容器元素的 ID。

returns:

bool|NULL|void 返回 TRUE 以跳过清除字段容器元素中“.mauticform-errormsg”类验证消息的默认行为。

MauticFormCallback['formname'] = {
    onErrorClear: function (fieldContainerId) {
        if ('mauticform_formname_email' == fieldContainerId) {
             // do something custom
        }
    },
};