Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Валидация данных при заполнении формы / 15 сообщений из 15, страница 1 из 1
08.05.2015, 20:19
    #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
08.05.2015, 20:24
    #38955048
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных при заполнении формы
за такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х
...
Рейтинг: 0 / 0
08.05.2015, 21:34
    #38955086
goldenhawk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Валидация данных при заполнении формы
вадяза такое надо голову откручивать.
валидацию нада делать на клиенте, на javascript
а мучить юзера перегрузкой страницы - это начало 80-х

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

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

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

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

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

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

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

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


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