Java Blog : Проблем с Кирилицата и Проблем с Валидация
Здравейте колеги,
Имам 2 проблема при правенето на блога с java и spring boot.
1. При запис на нов article в базата, кирилицата ми е счупена. Излиза ми по следния начин ??????. Порових из форума и гугъл, но всичко, което намирам е да си погледна базата дали е сетната на utf_8_general_ci, което е направено от скелета. Другото е добавяне на <property> във файл web.xml, който при мен липсва ( предполагам заради spring boot ).
2. Анотацията @NotNull не работи (поне при мен). Използвам я в ArticleBindingModel и все пак в базата ми се записват празни статий с празни заглавия. Открих, че има 2 такива анотации идващи от :
import com.sun.istack.internal.NotNull;
Както и от тук :
import javax.validation.constraints.NotNull;
И с двете пробвах и не стана. След това погледнах UserBindingModel-a, който идва наготово от скелета. Премахнах валидацията от html-a. Тоест махнах полетата required от input за регистрационната форма и пробвах отново. За жалост в базата ми се записваха User-и с празен email и най - вероятно хеширана празна парола. Ако някой има идея, ще се радвам да я сподели. Благодаря предварително !
Привет,
Изпробвах анотацията за @Size(min=1), но пак успявам да запиша празни данни в базата ( говоря за context и title на съответната статия). Явно проблема ми е някъде в binding models и мапването, както си споменал по - горе.
Успях да открия и да реша проблема с кирилицата, като просто добавих ( ?useUnicode=yes&characterEncoding=UTF-8 ) на края на Database connection string във файла application.properties.
Как взимаш данните от html-a към спринг. С взимаш полетата едно по едно или с @ModelAttribute. Дебъгни преди в пост рекуеста да запишеш модела, за да видиш да ли да ти пълни данните.
п.с. Пробвай с двете анотации заедно.
@NotNull
@Size(min = 1)
Трябва да сложиш валидация в самият Article Controller.
Нещо от сорта на:
Отделно може да сложиш валидация и в bootstrap-a която казва на user-a, че е идиот.
Ще ти трябва подобна валидация и за edit.
За кирилицата: Добавянето на
помогна, мерси! Пиша и да коригирам, че ? всъщност е &, щото аз и там си блъсках малко главата :)