Сравнить строки в шаблонах
У меня есть следующий шаблон:
{{if . eq "login failed"}}
<span class="text-error">Incorrect username or password</span>
{{else if . eq "login success"}}
<span class="text-success">You have successfully logged in!</span>
{{end}}
Я передаю строку при выполнении шаблона.
Однако я получаю следующую ошибку:
executing "login.html" at <.>: can't give argument to non-function .
Как сравнить строки в шаблоне?
Ответы
Ответ 1
eq
- это функция, а не оператор. Он вызывается в форме: eq <x> <y>
(не <x> eq <y>
).
Вы можете исправить свой шаблон, переместив операнды со сторон eq
на:
{{if eq . "login failed"}}
<span class="text-error">Incorrect username or password</span>
{{else if eq . "login success"}}
<span class="text-success">You have successfully logged in!</span>
{{end}}