powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидация данных при заполнении формы
15 сообщений из 15, страница 1 из 1
Валидация данных при заполнении формы
    #38955044
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь сделать валидацию данных при заполнении формы.
Если какое-то поле пустое, то страница заново загружается с сообщением какое поле пустое.

Создаю класс для валидации

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class CreateDTOForm {
	@NotNull
	private String name;
	@NotNull
	private String description;
	@NotNull
	private String links;
	
	public CreateDTOForm() {
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDescription() {
		return description;
	}

	public void setDescription(String description) {
		this.description = description;
	}

	public String getLinks() {
		return links;
	}

	public void setLinks(String links) {
		this.links = links;
	}
}




Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
@Controller
public class CoursesController {

@RequestMapping(value = "/create", method = RequestMethod.GET)
	public String createCourse(Model model, HttpSession session,	HttpServletRequest request,UserService userService ,
			@Valid CreateDTOForm userDto, BindingResult result ) {
		
	model.addAttribute("eMail", session.getAttribute("eMail"));

User user = userService.read(session.getAttribute("name").toString());

			if (user.getRole().equals("Lector"))
				model.addAttribute("ActionCreate", "true");
			else
				model.addAttribute("ActionCreate", "false");
		return "create";
		}
	}


@RequestMapping(value = "/create", method = RequestMethod.POST, params = {
			"titleField", "descriptionField", "linksField" })
	public String createCoursePost(Model model, HttpSession session,HttpServletRequest request,
                         @Valid CreateDTOForm userDto, BindingResult result) {

		model.addAttribute("eMail", session.getAttribute("eMail"));
		String title = request.getParameter("titleField");
		String description = request.getParameter("descriptionField");
		String links = request.getParameter("linksField");

                model.addAttribute("EmptyTitle", "false"); 
		model.addAttribute("EmptyDescription", "false"); 
		model.addAttribute("EmptyLinks", "false"); 
		
		if (result.hasErrors()) {
			 if (result.hasFieldErrors("name")){
				 model.addAttribute("EmptyTitle", "true"); 	  
			 }
			 if (result.hasFieldErrors("description")){
				 model.addAttribute("EmptyDescription", "true"); 	  
			 }
			 if (result.hasFieldErrors("links")){
				 model.addAttribute("EmptyLinks", "true"); 	 
			 }	 
		}
	        	         
	           
		CourseService courseService=new CourseService();
		Course course = new Course();
		course.setName(title);
		course.setDescription(description);
		course.setLinks(links);
		course.setOwner(session.getAttribute("eMail").toString());
		course = courseService.create(course );

		return "redirect:/courses.html"; 
	}






Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <link rel="stylesheet" type="text/css" href="./css/style.css"/>
  </head>
  <body>
    <div class="container">
      <header>
        <h1>
          Create Course
          <div class="logout">
            <span id="currentUserLogin">
              ${eMail}
            </span>
            <a href="logout.html">
              <i class="icon-off"></i>
            </a>
          </div>
        </h1>
      </header>
        <#if ActionCreate=="false"> 
      <div class="alert alert-error">
        <div>
          <strong>Okay, Houston, we've had a problem here.</strong>
        </div>
        <ul>
          <li>Action not allowed. Say again please.</li>
        </ul>
      </div>
       </#if>
       
      <#if EmptyTitle=="true">
      <div class="alert alert-error">
        <div>
          <strong>Okay, Houston, we've had a problem here.</strong>
        </div>
        <ul>
          <li>Name field is required.</li>
        </ul>
      </div>
       </#if>
       <#if EmptyDescription=="true">
      <div class="alert alert-error">
        <div>
          <strong>Okay, Houston, we've had a problem here.</strong>
        </div>
        <ul>
          <li>Description field is required.</li>
        </ul>
      </div>
       </#if>
        <#if EmptyLinks=="true">
      <div class="alert alert-error">
        <div>
          <strong>Okay, Houston, we've had a problem here.</strong>
        </div>
        <ul>
          <li>Links field is required.</li>
        </ul>
      </div>
       </#if>
       <#if ActionCreate=="true">
      <form class="form-horizontal" method=POST>
        <fieldset>
          <div class="control-group">
            <label class="control-label">Name</label>
            <div class="controls">
              <input id="titleField" name="titleField" class="span5" type="text"/>
            </div>
          </div>
          <div class="control-group">
            <label class="control-label">Description</label>
            <div class="controls">
              <textarea id="descriptionField" name="descriptionField" class="span5" rows="3"></textarea>
            </div>
          </div>
          <div class="control-group">
            <label class="control-label">Links</label>
            <div class="controls">
              <textarea id="linksField" name="linksField" class="span5" rows="3"></textarea>
            </div>
          </div>
          <div class="form-actions">
            <button id="createButton" name="createButton" class="btn btn-primary" type="submit">Create</button>
           
          </div>
        </fieldset>
      </form>
      </#if>
        <a class="btn" href="courses.html">Cancel</a>
    </div>
  </body>
</html>
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955048
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955086
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х

Просто еще учусь, и пытаюсь разобраться в основах
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955088
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот скрин ошибки если оставляю поле пустым(При введенных нормально работает)
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955099
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х
Если ты сделаешь валидацию только на клиенте, тебе потом голову открутать. Валидацию надо делать и на клиенте, и на сервере.
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955100
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonidvвадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х
Если ты сделаешь валидацию только на клиенте, тебе потом голову открутать. Валидацию надо делать и на клиенте, и на сервере.

Не поможешь разобраться? Как сделать?
Спасибо.
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955101
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidvвадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х
Если ты сделаешь валидацию только на клиенте, тебе потом голову открутать. Валидацию надо делать и на клиенте, и на сервере.
валидацию валидированного?
проверять на инъекции?
боязнь ввода недопустимых данных хацкером?
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38955103
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goldenhawkвадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х

Просто еще учусь, и пытаюсь разобраться в основах

ну если учишься - посмотри в сторону websocket - валидировать можно после ввода каждого символа прям на сервере.
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38968207
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как это сделать используя JSR 303 validator framework ?
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38968261
wamaco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidvвадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х
Если ты сделаешь валидацию только на клиенте, тебе потом голову открутать. Валидацию надо делать и на клиенте, и на сервере.

все равно голову открутят! за код! просто за код!
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38968571
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goldenhawk,
учись на чём нибудь полезном (ленивая загрузка).
Эти 500 строк коду уже заменены в HTML5
http://htmlbook.ru/html/input/required
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38968647
MOHAX777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяLeonidvпропущено...

Если ты сделаешь валидацию только на клиенте, тебе потом голову открутать. Валидацию надо делать и на клиенте, и на сервере.
валидацию валидированного?
проверять на инъекции?
боязнь ввода недопустимых данных хацкером?

Ынтырпрайз утверждённо кивает головой
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38970247
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WebPrj,
Просто надо сделать именно этим методом. Не знаешь как?
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38970249
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wamaco,
А что с кодом? Можешь указать ошибки. я просто пока учусь еще.)
...
Рейтинг: 0 / 0
Валидация данных при заполнении формы
    #38970252
goldenhawk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
goldenhawkWebPrj,
Просто надо сделать именно этим методом. Не знаешь как?
И если надо так проверить
@Size(min = 1 ,max = 5)
private String grade;

то как делать?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидация данных при заполнении формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]