mirror of
https://github.com/silverstripe/silverstripe-spamprotection.git
synced 2024-10-22 14:05:59 +02:00
Provide possibility of meaningful error messages when using UserForms
This commit is contained in:
parent
947d0f09e0
commit
74af26deb8
@ -112,9 +112,18 @@ if (class_exists('EditableFormField')) {
|
|||||||
|
|
||||||
public function validateField($data, $form)
|
public function validateField($data, $form)
|
||||||
{
|
{
|
||||||
$formField = $this->getFormField();
|
// In case you dont have this function in your php - primitive version
|
||||||
|
if (!function_exists("array_column")) {
|
||||||
|
function array_column($array, $column_name) {
|
||||||
|
return array_map(function ($element) use ($column_name) {
|
||||||
|
return $element[$column_name];
|
||||||
|
}, $array);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!$formField->validate($form->getValidator())) {
|
if (!$formField->validate($form->getValidator())) {
|
||||||
$form->addErrorMessage($this->Name, $this->getErrorMessage()->HTML(), 'error', false);
|
$errorArray = $form->getValidator()->getErrors();
|
||||||
|
$errorText = $errorArray[array_search($this->Name, array_column($errorArray, 'fieldName'))]['message'];
|
||||||
|
$form->addErrorMessage($this->Name, $errorText, 'error', false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user