Fix form input validations
[MAILPOET-3415]
This commit is contained in:
committed by
Veljko V
parent
956b455b27
commit
76279d3148
@@ -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);
|
||||
|
Reference in New Issue
Block a user