Функция веточки: как вернуть пользовательскую ошибку
Я пишу функцию Twig, которая создает ссылки от 1 до 5 и параметр, передаваемый как переменную, что-то вроде:
<a href="myurl.com/criterium=criterium1&value=my_value">text</a>
Я знаю, что могу иметь только criterium1
, criterium2
а также criterium3
так что у меня есть массив с ними внутри и с in_array()
Я проверяю, что пройденный критерий является действительным.
Но если критерия нет в фиксированном массиве, я хочу вернуть ошибку и сообщить разработчику, какие критерии допустимы.
Как я могу вернуть этот тип ошибки изнутри функции Twig?
Что-то вроде:
Вы прошли критерий "Неправильный_критерий". Только "критерий 1", "критерий 2" и "критерий 3" допускаются.
1 ответ
Решение
Если вы хотите выбросить исключение, вы можете просто сделать это с
throw new UndefinedOptionsException();
Если вы хотите просто визуализировать html-ошибку, вы можете сделать это с помощью:
return "<p class='error'>You passed the criterium 'wrong_criterium'. Only 'criterium1', 'criterium2' and 'criterium3' are allowed</p>";