пытаюсь в массиве вывести все ошибки которые были допущены, но в нем оказывается только одна, остальные выводит
if($nameLen<3 or $nameLen>100){
$arr = [
'name' => 'Название должно содержать от 3 до 100 символов',
];
$err = false;
}
if($descriptionLen<3 or $descriptionLen>100){
$arr = [
'text' => 'Описание должно содержать от 3 до 100 символов',
];
$err = false;
}
if($err == false){
$array = array($arr);
$this->error = $array;
return false;
}
var_dump($this->error) выводит результат:
array(1) { [0]=> array(1) { ["text"]=> string(81) "Описание должно содержать от 3 до 100 символов" } }
Как сделать что бы в массив выводил все ошибки?
Просматривая ваш код, увидел использование $this->errors
в контексте класса. Предлагаю свой вариант решения:
/**
* @var array $_errors
*/
private $_errors = [];
/**
* Метод добавления новой ошибки для указанного поля.
* @param string $field
* @param string $message
*/
public function addError(string $field, string $message): void
{
array_push($this->_errors[$field], $message);
}
/**
* Проверка на существование каких-либо ошибок.
* @return bool
*/
public function hasErrors(): bool
{
return empty($this->_errors);
}
/**
* Метод возвращения ошибок.
* @return array
*/
public function getErrors(): array
{
return $this->_errors;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал telegram бота, поставил Webhook, все работаетСейчас пытаюсь сделать кнопки, кнопки должны обратиться к серверу и с моего сервера выполнить...