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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Struts. Проблема с валидацией 
V
    Опции темы
Матильда
Дата 30.1.2009, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Доброго времени суток!
Совсем запуталась с валидацией. Помогите, пожалуйста, найти ошибки.

MytestAction.java
Код

public class MytestAction extends Action {

   public ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response)
        throws Exception {
       
       MytestForm theForm = (MytestForm) form;
       ActionErrors error = theForm.validate(mapping,request);

           if (error.isEmpty()){
               String userName = theForm.getName();
                request.setAttribute("theName", userName);
                return mapping.findForward("display");
           } else return mapping.findForward("input");
   }
}


MytestForm.java
Код

public class MytestForm extends ActionForm {

    protected String name;
    protected String password;

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

    public void setPassword(String password){
        this.password = password;
    }

    public String getName(){
        return name;
    }

    public String getPassword(){
        return password;
    }

     public ActionErrors validate(
        ActionMapping mapping,
        HttpServletRequest request) {

        ActionErrors errors = super.validate(mapping, request);

        if (this.getName().equals("")) errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.enterName"));
        if (this.getPassword().equals("")) errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("errors.enterPassword"));

        return errors;
    }
    
}


validation.xml
Код

<form-validation>
    <formset>
        <form name="mytestForm">
            <field property="name" depends="required,maxlength,minlength">
             <arg name="required" key="errors.required"/>
                <arg name="minlength" key="errors.minlength"/>
                <arg name="maxlength" key="errors.maxlength"/>    
                <var>
                    <var-name>minlength</var-name>
                    <var-value>3</var-value>
                </var>
                <var>
                    <var-name>maxlength</var-name>
                    <var-value>10</var-value>
                </var>
            </field>

            <field property="password" depends="required,maxlength,minlength,validwhen">
               <arg name="required" key="errors.required"/>
                <arg name="minlength" key="errors.minlength"/>
                <arg name="maxlength" key="errors.maxlength"/>
                <arg name="validwhen" key="errors.bedpassword"/>
                   <var>
                    <var-name>minlength</var-name>
                    <var-value>3</var-value>
                </var>
                <var>
                    <var-name>maxlength</var-name>
                    <var-value>10</var-value>
                </var>
                 <var>
                    <var-name>test</var-name>
                    <var-value>(password == "mypassword")</var-value>
                </var>

            </field>
        </form>
    </formset>
</form-validation>


struts-config.xml
Код

<struts-config>

      <form-beans>
        <form-bean name="mytestForm"
                   type="mypackage.MytestForm"/>
    </form-beans>       

    <action-mappings>

       <action path="/welcome" forward="/welcome.jsp"/>

        <action path="/mytest" forward="/mytest/mytest.jsp"/>

        <action path="/mytest-submit"
                type="mypackage.MytestAction"
                name="mytestForm"
                scope="request"
                validate="false"
                input="mytest">
            <forward name="mytest" path="/mytest.do"/>
            <forward name="display" path="/mytest/display.jsp"/>
        </action>

    </action-mappings>

    <message-resources parameter="mypackage.MytestResources"/>

    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
                      value="/WEB-INF/validation.xml, /WEB-INF/validator-rules.xml"/>
    </plug-in>
</struts-config>



PM   Вверх
Samotnik
Дата 7.2.2009, 04:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 5
Всего: 191



Матильда, ваш код у меня не работает совсем, приведи пожалуйста весь код, что бы его можно было в идее попробовать скомпилить.
Если что :  Struts validation


PM MAIL   Вверх
Матильда
Дата 9.2.2009, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо. Проблема уже решилась.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0843 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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