Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

Структуре су један од примарних и популарно коришћених типова података који се налазе у програмском језику Го. Многи пакети са различитим функционалностима, од пакета базе података до ОРМ-ова, и неки веб оквири користе структуре за лако рашчлањивање података и друге операције.

Валидација структуре је уобичајен задатак у Го-у, а Го пакет валидатора пружа једноставан и ефикасан начин за валидацију структура у вашим пројектима.

Шта је пакет Го Валидатор

Тхе Иди валидатор пакет имплементира валидацију вредности за структуру и појединачна поља на основу специфицираних ознака у декларацији структуре.

Пакет Го валидатор пружа функције за проверу унакрсних поља и унакрсних структура помоћу ознака, пресека, низа и мапа које омогућавају нивое вишедимензионална валидација поља, валидација прилагођеног поља, издвајање прилагођено дефинисаних имена поља, прилагодљиве поруке о грешци и подршка за популаран

instagram viewer
Гин фрамеворк као подразумевани валидатор за пакет.

Покрените једну од ових команди у терминалу вашег радног директоријума да бисте инсталирали валидатор пакет.

иди преузми гопкг.ин/иди-плаигроунд/валидатор.в9
иди преузми гитхуб.цом/иди-игралиште/валидатор/в10

Верзије су суфикс УРЛ адресе. Прва команда инсталира верзију 9, а друга инсталира верзију 10 пакета.

Након инсталирања пакета, можете увести пакет у своје пројекте у зависности од верзије коју сте инсталирали.

увоз (
"гопкг.ин/го-плаигроунд/валидатор.в9"
)

Сада можете да наставите да користите пакет Го валидатор. Ако постоје проблеми са инсталацијом, покушајте да поново инсталирате/надоградите на најновију верзију Го.

Провера структура помоћу пакета валидатора

Мораћете да креирате инстанцу валидатор. Потврди струцт, дефинишите структуру коју желите да потврдите користећи ознаке валидације да бисте навели правила валидације за поља.

Ево како можете да креирате инстанцу валидатор. Потврди струцт.

фунцглавни() {
валидате := валидатор. Нова()
}

Можете дефинисати структуру коју желите да потврдите тако што ћете навести ознаке за поља, чиме ћете поставити правила валидације. Ознаке за валидацију су посебне напомене дефиниција поља структуре које специфицирају правила.

Ево редовне структуре за валидацију.

тип Корисник струцт {
Име низ
Старост инт
Емаил низ
}

Ево примера структуре, спремне за валидацију.

тип Корисник струцт {
Име низ`валидате:"обавезно"`
Старост инт`валидате:"гте=0,лте=130"`
Емаил низ`валидате:"обавезно, имејл"`
}

У овом примеру сте навели Име поље по потреби при инстанцирању, тхе Старост поље мора бити веће или једнако 0 и мање или једнако 130, и Емаил поље је обавезно и мора бити важећа адреса е-поште приликом инстанцирања.

У пакету Го валидатора доступне су различите ознаке за валидацију, укључујући ознаке за обавезна поља, минималне и максималне вредности и регуларни изрази. Комплетну листу доступних ознака за валидацију можете пронаћи у документацији за пакет Го валидатор.

Када дефинишете структуру коју желите да потврдите и наведете правила валидације за свако поље, можете користити Структура методом валидатор. Потврди струцт за валидацију структуре.

корисник := Корисник{
// Име није инстанцирано
Старост: 3990000,
Емаил: "јохн@екампле.цом",
}
// имајте на уму да поља Име и Старост не успевају да прођу валидацију

ерр := потврдити. Структура (корисник)
ако ерр != нула {
// Структура је неважећа
}

Тхе Структура метода враћа грешку ако постоје грешке у валидацији, а грешку можете руковати на основу ваше операције.

Овим грешкама можете приступити помоћу ВалидатионЕррорс метод грешке.

ако ерр != нула {
за _, грешка := домет ерр.(валидатор. ВалидатионЕррорс) {
фмт. Принтлн (ерр. Поље(), грешка. Ознака())
}
}

Тхе ВалидатионЕррорс метода ће вратити име сваког поља са грешком у валидацији и ознаком валидације која је изазвала грешку.

Такође можете дефинисати прилагођене ознаке за валидацију ако специфични захтеви за валидацију нису део уграђених ознака.

Можете користити РегистерВалидатион методом валидатор. Потврди струцт. Тхе РегистерВалидатион метода узима два аргумента; назив ознаке за валидацију и функцију провере ваљаности. Функција валидације је функција повратног позива која се позива за свако поље које има прилагођену ознаку валидације, а функција мора да врати истина ако је поље важеће и лажно ако је другачије.

Ево примера дефиниције прилагођене ознаке за валидацију. Ознака потврђује поља за парне бројеве.

валидирати. РегистерВалидатион("Чак", фунц(фл валидатор. ниво поља)боол {
// Покушајте да добијете вредност поља као инт
вредност, ок := фл. Поље().Интерфејс().(инт)
ако !У реду {
// Ако вредност поља није инт, врати фалсе
повратаклажно
}
// Враћа тачно ако је вредност парна, нетачна, у супротном
повратак вредност % 2 == 0
})

Код дефинише прилагођену ознаку за валидацију Чак помоћу РегистерВалидатион методом валидатор. Потврди струцт. Дефинисали сте ознаку за валидацију користећи функцију која узима један аргумент типа валидатор. ФиелдЛевел.

Сада можете да користите прилагођену ознаку за валидацију у дефиницијама структуре на исти начин на који бисте то користили за уграђене ознаке за валидацију.

тип МиСтруцт струцт {
Валуе инт`валидате:"чак"`
}

Има још за ићи структуре

Структуре су првокласни грађани у Го-у, и постоји толико тога што можете да урадите са структурама. Ако сте упознати са чисто објектно оријентисаним језицима, можете користити Го структуре за рад са подацима као што бисте радили са класама.