{GroupP1: true},
{LoggedIn: true},
{SuperIngenerQuality: true},
{User: u.LastName},
{Username: u.FirstName},
}
передаю шаблон в data := map[string]interface{}{
"GetUser": users,
}
tpl.ExecuteTemplate(w, "index.html", data)
но в html сначала надо провалидировать условие LoggedIn, потом GroupP1, и далее SuperIngenerQuality, только вложения такого рода через цикл
{{ range .GetUser}}
{{if .LoggedIn}}
{{if .GroupP1}}
{{end}}
{{end}}
{{end}}
не проходят дальше первого if. Не подскажете, как можно такую логику валидации реализовать?
странно вы инициализируете массив пользователей.. у вас 5 пользователей в массиве, у каждого одно из полей?!
можно просто {{ if and (.LoggedIn .GroupP1) }} https://pkg.go.dev/text/template#hdr-Functions
нет, это один пользователь, но для его валидации я использую несколько флагов - logginin, group, role и собственно имя пользователя (string)
пробовал, будет подобная ошибка - GroupP1 has arguments but cannot be invoked as function, подумаю, может это можно как-то итерировать через вложенные структуры
а если {{ if and (.LoggedIn) (.GroupP1) }}
это именно 5 разных пользователей
так нет результата, хотя да, ошибку при этом уже не выдает
нет, это 5 пользователей 😅
да, понял, вы правы, все поля структуры User должны быть в одном наборе из полей структуры {....}
Обсуждают сегодня