Loading...
tobieski avatar tobieski 6 Точки

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 и най - вероятно хеширана празна парола. Ако някой има идея, ще се радвам да я сподели. Благодаря предварително !

0
Софтуерни технологии 06/04/2017 20:53:08
vancho avatar vancho 430 Точки

@NotNull го замени с @Size(min = 1). Така трябва да сработи. Относнл емейла на user-а може полето в формата да не се мапва. Или не си настроил секюритито на spring.

0
08/04/2017 09:53:14
tobieski avatar tobieski 6 Точки

Привет, 
Изпробвах анотацията за @Size(min=1), но пак успявам да запиша празни данни в базата ( говоря за context и title на съответната статия). Явно проблема ми е някъде в binding models и мапването, както си споменал по - горе.
Успях да открия и да реша проблема с кирилицата, като просто добавих ( ?useUnicode=yes&characterEncoding=UTF-8 ) на края на Database connection string във файла application.properties.
 

1
vancho avatar vancho 430 Точки

Как взимаш данните от html-a към спринг. С взимаш полетата едно по едно или с @ModelAttribute. Дебъгни преди в пост рекуеста да запишеш модела, за да видиш  да ли да ти пълни данните.

п.с. Пробвай с двете анотации заедно.

@NotNull

@Size(min = 1)

0
08/04/2017 16:48:44
Xadera avatar Xadera 5 Точки

Трябва да сложиш валидация в самият Article Controller.

Нещо от сорта на:

if(articleBindingModel.getTitle().length() < 3 || articleBindingModel.getContent().length() < 10)
{
    return "redirect:/article/create";
}

 

Отделно може да сложиш валидация и в bootstrap-a която казва на user-a, че е идиот.

Ще ти трябва подобна валидация и за edit.

0
17/04/2017 14:22:06
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.