Fix form input validations

[MAILPOET-3415]
This commit is contained in:
Rostislav Wolny
2021-02-15 17:57:43 +01:00
committed by Veljko V
parent 956b455b27
commit 76279d3148

View File

@@ -25,24 +25,25 @@ class BlockRendererHelper {
public function getInputValidation(array $block, array $extraRules = []): string {
$rules = [];
$blockId = $this->wp->escAttr($block['id']);
if ($block['id'] === 'email') {
if ($blockId === 'email') {
$rules['required'] = true;
$rules['minlength'] = ModelValidator::EMAIL_MIN_LENGTH;
$rules['maxlength'] = ModelValidator::EMAIL_MAX_LENGTH;
$rules['error-message'] = __('Please specify a valid email address.', 'mailpoet');
}
if (($block['id'] === 'first_name') || ($block['id'] === 'last_name')) {
if (($blockId === 'first_name') || ($blockId === 'last_name')) {
$rules['pattern'] = "^[^<>]*$";
$rules['error-message'] = __('Please specify a valid name', 'mailpoet');
}
if ($block['id'] === 'segments') {
if ($blockId === 'segments') {
$rules['required'] = true;
$rules['mincheck'] = 1;
$rules['group'] = $block['id'];
$rules['errors-container'] = '.mailpoet_error_' . $block['id'];
$rules['group'] = $blockId;
$rules['errors-container'] = '.mailpoet_error_' . $blockId;
$rules['required-message'] = __('Please select a list', 'mailpoet');
}
@@ -56,19 +57,19 @@ class BlockRendererHelper {
$rules['pattern'] = "^[\d\+\-\.\(\)\/\s]*$";
$rules['error-message'] = __('Please specify a valid phone number', 'mailpoet');
} else {
$rules['type'] = $block['params']['validate'];
$rules['type'] = $this->wp->escAttr($block['params']['validate']);
}
}
if (in_array($block['type'], ['radio', 'checkbox'])) {
$rules['group'] = 'custom_field_' . $block['id'];
$rules['errors-container'] = '.mailpoet_error_' . $block['id'];
$rules['group'] = 'custom_field_' . $blockId;
$rules['errors-container'] = '.mailpoet_error_' . $blockId;
$rules['required-message'] = __('Please select at least one option', 'mailpoet');
}
if ($block['type'] === 'date') {
$rules['group'] = 'custom_field_' . $block['id'];
$rules['errors-container'] = '.mailpoet_error_' . $block['id'];
$rules['group'] = 'custom_field_' . $blockId;
$rules['errors-container'] = '.mailpoet_error_' . $blockId;
}
$validation = [];
@@ -81,7 +82,7 @@ class BlockRendererHelper {
if (is_bool($value)) {
$value = ($value) ? 'true' : 'false';
}
$validation[] = 'data-parsley-' . $rule . '="' . $this->wp->escAttr($value) . '"';
$validation[] = 'data-parsley-' . $rule . '="' . $value . '"';
}
}
return join(' ', $validation);