Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> валидация в Spring 
:(
    Опции темы
Adept
Дата 24.1.2007, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Пытаюсь прикрутить валидацию.  Чето неработает  smile Никаких ошибок невыдает, просто форма очищается от данных и все.  smile 

Создал класс DepartmentValidator, пока тока должен проверять введено ли название подразделения
Код

package springdb.validation;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;
import org.springframework.validation.Validator;
import springdb.model.Department;

public class DepartmentValidator implements Validator {
    public boolean supports(Class clazz){
        return Department.class.isAssignableFrom(clazz);
    }
    public void validate(Object command, Errors errors){        
        ValidationUtils.rejectIfEmpty(errors, "departmentName", "required.departmentName", "DepartmentName is required");
        
    }
}


в спринговский файл конфигурации, в описалово данного контроллера добавил строчку
Код

<bean id="addDepartmentController" class="springdb.web.AddDepartmentController">
        <property name="formView" value="addDepartment"/>
        <property name="successView" value="ownerRedirect"/>
        <property name="validator"><ref bean="departmentValidator"/></property>        
        <property name="departmentService"><ref bean="departmentService"/></property>
    </bean>    

<bean id="departmentValidator" class="springdb.validation.DepartmentValidator"/>    


это сама jsp где вводятся данные
Код

<%@ include file="/WEB-INF/jsp/includes.jsp" %>
<%@ page contentType="text/html; charset=windows-1251" %>
  <spring:bind path="command">
  <FONT color="red">
    <B><c:out value="${status.errorMessage}"/></B>
  </FONT>
  </spring:bind>  
    <form method="POST">
    <table border="0" cellspacing="5" cellpadding="0">
      <tr><td valign="middle" align="left">
        <b>Название подразделения: </b> 
      </td><td valign="middle" align="left">
        <spring:bind path="command.departmentName">  
          <input type="text" maxlength="50" size="50" name="departmentName"><br>
        </spring:bind>  
      </td></tr>
      <tr><td valign="middle" align="right">      
        <b>Родительское подразделение: </b> 
      </td><td valign="middle" align="left">
       <spring:bind path="command.parentDid"> 
       <select name="parentDid">
         <c:forEach items="${parentDepartments}" var="parentDepartment">
              <OPTION value="<c:out value="${parentDepartment.parentDid}"/>">
                <c:out value="${parentDepartment.departmentName}"/>                
              </OPTION>           
              
         </c:forEach>
        </select>
      </spring:bind>
      </td></tr>

      <tr>
      <td valign="middle" align="left">      
        <b>Тип подразделения: </b> 
      </td>
      <td valign="middle" align="left">
       <spring:bind path="command.depType">  
         <select name="depType">
             <option selected value="1">Главный офис</option>
             <option value="2">Филиал</option>
         </select>
         <!-- input type="text" maxlength="50" name="depType" --><br>
       </spring:bind>
      </td>
      </tr> 
      <tr>
        <td valign="middle" align="left">
          <b>Банковкий счет:</b> 
        </td>
        <td valign="middle" align="left">
        <spring:bind path="command.account">  
          <input type="text" maxlength="100" size="80" name="account"><br>
        </spring:bind>  
      </td>
      </tr>
      <tr>
        <td valign="middle" align="left">
          <b>Банковкий код:</b> 
        </td>
        <td valign="middle" align="left">
        <spring:bind path="command.bankCode">  
          <input type="text" maxlength="50" size="50" name="bankCode"><br>
        </spring:bind>  
      </td>
      </tr>
      <tr>
        <td valign="middle" align="left">
          <b>УНН:</b> 
        </td>
        <td valign="middle" align="left">
        <spring:bind path="command.unn">  
          <input type="text" maxlength="50" name="unn"><br>
        </spring:bind>  
      </td>
      </tr>
      <tr>
        <td valign="middle" align="left">
          <b>Телефон:</b> 
        </td>
        <td valign="middle" align="left">
        <spring:bind path="command.telephone">  
          <input type="text" maxlength="50" name="telephone"><br>
        </spring:bind>  
      </td>
      </tr>  
      
      <tr>
        <td colspan="2" align="center">
          <input type="submit" value="Create">      
        </td>
      </tr>
    </table>
    </form>


Сам контроллер
Код

package springdb.web;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.propertyeditors.CustomNumberEditor;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.mvc.SimpleFormController;

import springdb.model.Department;
import springdb.service.DepartmentService;

public class AddDepartmentController extends SimpleFormController{
    
    public AddDepartmentController(){
        setSessionForm(true);
        setCommandName("command");
        setCommandClass(Department.class);
    }
    
    protected void initBinder(HttpServletRequest request,
            ServletRequestDataBinder binder) throws Exception {
            CustomNumberEditor numberEditor = new CustomNumberEditor(Integer.class, true);
            binder.registerCustomEditor(Integer.class, numberEditor);
    }
    
    protected Map referenceData(HttpServletRequest request) throws ServletException {
        Map refData = new HashMap();
        refData.put("parentDepartments", this.departmentService.getDepartments());
        return refData;
    }    
      
    protected void doSubmitAction(Object command) throws Exception {
            departmentService.addDepartment((Department) command);
    }
    
    private DepartmentService departmentService;
      public void setDepartmentService(DepartmentService departmentService) {
        this.departmentService = departmentService;
    }



}
Я вот думаю, может в методе doSubmitAction чето прописывать надо?


Это сообщение отредактировал(а) Adept - 24.1.2007, 14:34
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.