powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Validation.xml
17 сообщений из 17, страница 1 из 1
Validation.xml
    #34424834
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем
Уменя возник проблема. Хочу использоват Validaion.xml и Validator-rules.xml. В роде б все хорошо но толька <html:errors/> не отображается.
Validaion.xml:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<!DOCTYPE form-validation  PUBLIC  
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
  "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">


<form-validation>
    <formset>
        <form name="formForm">
            <field property="login" depends="required">
                <arg key="label.login"/>
                <msg key="errors.required" name="required"/>
            </field>
        </form>
    </formset>
</form-validation>


struts-config.xml:
Код: plaintext
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.
<!DOCTYPE struts-config  PUBLIC 
  "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
  "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>

    <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/>
    <message-resources parameter="Message"/>
    <plug-in className="org.apache.struts.tiles.TilesPlugin">
        <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml"/>
    </plug-in>
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
        <set-property property="stopOnFirstError" value="false"/>
    </plug-in>


    <form-beans>
        <form-bean name="formForm" type="FormForm"/>
    </form-beans>

    <action-mappings>

        <action path="/test"
                type="TestGoAction"
                name="formForm"
                scope="request"
                validate="false">
            <forward name="success" path="/form.jsp"/>
        </action>

        <action path="/formGoAction"
                type="FormGoAction"
                name="formForm"
                attribute="login"
                scope="request"
                validate="false"
                input="/form.jsp">
            <forward name="success" path="/reg_ok.jsp"/>
        </action>

    </action-mappings>

</struts-config>

FormForm.java
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 public   class  FormForm  extends  ValidatorForm {

     private  String  sLogin;

     public  String getLogin () {  return  sLogin; }
     public   void  setLogin (String sLogin) {  this .sLogin = sLogin; }

     public   void  reset(ActionMapping mapping, HttpServletRequest request) {
         this .sLogin =  null ;
    }

FormgoAction.java:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
 public   class  FormGoAction
         extends  Action {

     public  ActionForward execute(ActionMapping mapping,
                                 ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response
    )
             throws  Exception {

        FormForm formForm = (FormForm) form;
        request.setCharacterEncoding("windows-1251");
         return  mapping.findForward("success");
    }
}

Помогите а кто можеть
...
Рейтинг: 0 / 0
Validation.xml
    #34426881
Andrew Bykov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в resource bundle проперти с ошибками прописал?

---
С уважением, Андрей
SoftUnit
...
Рейтинг: 0 / 0
Validation.xml
    #34427405
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew BykovА в resource bundle проперти с ошибками прописал?

---
С уважением, Андрей
SoftUnit

Да конечно
Message.properties:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#Error Resources
label.login=Login
## -- standard errors --
errors.header=<UL>
errors.prefix=<LI>
errors.suffix=</LI>
errors.footer=</UL>
# -- validator --
errors.invalid={ 0 } is invalid.
errors.maxlength={ 0 } can not be greater than { 1 } characters.
errors.minlength={ 0 } can not be less than { 1 } characters.
errors.range={ 0 } is not in the range { 1 } through { 2 }.
errors.required={ 0 } is required.
errors. byte ={ 0 } must be an  byte .
errors.date={ 0 } is not a date.
errors. double ={ 0 } must be an  double .
errors. float ={ 0 } must be an  float .
...
Рейтинг: 0 / 0
Validation.xml
    #34428472
max_from_sumy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возвращает хоть на нужную страницу, где ошибки должно показать?
...
Рейтинг: 0 / 0
Validation.xml
    #34428709
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращает reg_ok.jsp никаких ошибок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
        <action path="/formGoAction"
                type="FormGoAction"
                name="formForm"
                attribute="login"
                scope="request"
                validate="false"
                input="/form.jsp">
            <forward name="success" path="/reg_ok.jsp"/>
        </action>
...
Рейтинг: 0 / 0
Validation.xml
    #34429611
Насколько помню, на jsp страничке должна быть проверка прописана, например на form.submit или еще на какое-либо действие. Я думаю google разрулит, или же apache в разделе доков по struts.
...
Рейтинг: 0 / 0
Validation.xml
    #34431367
max_from_sumy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest62Возвращает reg_ok.jsp никаких ошибок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
        <action path="/formGoAction"
                type="FormGoAction"
                name="formForm"
                attribute="login"
                scope="request"
                validate="false"
                input="/form.jsp">
            <forward name="success" path="/reg_ok.jsp"/>
        </action>


Может все-таки validate=true поставить
...
Рейтинг: 0 / 0
Validation.xml
    #34434237
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не проблема была в struts-config.xml. Вместо
Код: plaintext
1.
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml

написал
Код: plaintext
1.
2.
<set-property property="pathnames"
                      value="/org/apache/struts/validator/validator-rules.xml
и ещё
Код: plaintext
validate=true 
Всё работает, но не смогу найти где физически находится validator-rules.xml что бы добавить туда ещё несколько validator. Например, validator for TwoFields
...
Рейтинг: 0 / 0
Validation.xml
    #34435854
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё я нашёл.
Я на IntelliJ Idea 6.0.5 работаю. Когда компилирую выдаёт ошибку
Код: plaintext
Error:Error: null 
.
Не знаю в чём дело?
...
Рейтинг: 0 / 0
Validation.xml
    #34437401
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё ребята я сам нашёл в чём проблема.
Нашёл где validator-rules.xml . Но как не могу изменить его. Как будто он только для чтения. А мне туда свою validator надо добавить!!!!!!!!!!!
...
Рейтинг: 0 / 0
Validation.xml
    #34447963
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, не ужели ни кто не сможеть помоч?
...
Рейтинг: 0 / 0
Validation.xml
    #34448855
lvit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest62Народ, не ужели ни кто не сможеть помоч?
етот файлик /org/apache/struts/validator/validator-rules.xml ты не сможешь изменить он идет в jar'e как дефолтный стандартный валидатор :) ты должен добавить новый фаил WEB-INF/validator-rules.xml и там прописать свои правила
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validator-rules.xml"/>
....
</plug-in>
удачи
...
Рейтинг: 0 / 0
Validation.xml
    #34449929
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да всё получилось. Но вот ещё одна проблема:
Я работаю на IntelliJ IDEA 6.0.5 и когда добавляю в Validation.xml новый валидатор, то arg0-arg3 не появляются когда нажимаю на Ctrl+Space, только msg, arg и var.
Не понимаю что здесь ни так?
...
Рейтинг: 0 / 0
Validation.xml
    #34452670
lvit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest62Да всё получилось. Но вот ещё одна проблема:
Я работаю на IntelliJ IDEA 6.0.5 и когда добавляю в Validation.xml новый валидатор, то arg0-arg3 не появляются когда нажимаю на Ctrl+Space, только msg, arg и var.
Не понимаю что здесь ни так?надеюсь ты лицензию купил :) :) :) постараюсь ответить на твой вопрос IntelliJ IDEA 6.0.5 здесь все правильно отображает ибо она (IDEA) отображает все возможные теги(msg, arg и var) которые может содержать елемент <field> :) У тебя появился возможно новый вопрос откуда же она (IDEA) берет ети значения (msg, arg и var) обратимся к спецификации xml и посмотрим на начало файла Validaion.xml :
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1.3//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd">
и видим что описание елемента находится тут validator_1_1_3.dtd находится он в jar'e commons-validators-1.3.0.jar :
открываем его и видим
<!ELEMENT field (msg|arg|var)*>
...
<!ATTLIST msg resource CDATA #IMPLIED>
<!--
...
=> и здесь читаем
position The position of this replacement parameter in the message.
For example, position="0" will set the first argument.

N.B. Since 1.2.0 position is ignored for 'default' arguments
(i.e. those with no 'name' supplied) - it is calculated
automatically from the order the arguments are added in.
For 'overriden' arguments (i.e. those with a 'name')
it is optional. If 'position' is not supplied it will
use the position of the 'default' argument it follows.
-->
<!ELEMENT arg EMPTY>
<!ATTLIST arg key CDATA #REQUIRED>
<!ATTLIST arg bundle CDATA #IMPLIED>
<!ATTLIST arg name CDATA #IMPLIED>
<!ATTLIST arg resource CDATA #IMPLIED>
<!ATTLIST arg position CDATA #IMPLIED>
=> что в самой первой версии struts было как <arg0 счас стало как <arg position="0" ... />
надеюсь я вам дохочиво объяснил :)
...
Рейтинг: 0 / 0
Validation.xml
    #34453320
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lvit
Код: plaintext
надеюсь я вам дохочиво объяснил :)

Хуже не бывает :))
...
Рейтинг: 0 / 0
Validation.xml
    #34501013
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята я тут новый validation-rule написал. Но она не работаеть. Кто нибудь, помогите!

validation-rule.xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
       
 <validator name="twofields"
         classname="com.strutsValidators.Validators"
         method="validateTwoFields"
         methodParams="java.lang.Object,
         org.apache.commons.validator.ValidatorAction,
         org.apache.commons.validator.Field,
         org.apache.struts.action.ActionMessages,
         org.apache.commons.validator.Validator,
         javax.servlet.http.HttpServletRequest"
         depends=""
         msg="errors.twofields">

validation.xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<field property="password" depends="required,twofields">
                <arg key="RegPhyForm.password"/>
                <arg position="0" key="RegPhyForm.password"/>
                <arg position="1" key="RegPhyForm.passwordAgain"/>
                <msg key="errors.required" name="required"/>
                <msg key="errors.twofields" name="twofields"/>
                <var>
                    <var-name>secondProperty</var-name>
                    <var-value>passwordAgain</var-value>
                </var>
            </field>

            <field property="passwordAgain" depends="required">
                <arg key="RegPhyForm.passwordAgain"/>
                <msg key="errors.required" name="required"/>
            </field>

Класс которого я использоваю:

Код: plaintext
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.
 public   class  Validators {
     public   static   boolean  validateTwoFields(
        Object bean,
        ValidatorAction va,
        Field field,
        ActionErrors errors,
        HttpServletRequest request,
        ServletContext application,
    Validator val) {
        String value = ValidatorUtils.getValueAsString(
            bean,
            field.getProperty());
        String sProperty2 = field.getVarValue("secondProperty");
        String value2 = ValidatorUtils.getValueAsString(
            bean,
            sProperty2);
         if  (!GenericValidator.isBlankOrNull(value)) {
            try  {
               if  (!value.equals(value2)) {
                 errors.add(field.getKey(),
                    Resources.getActionMessage(
                        val,
                        request,
                        va,
                        field));

                  return  false;
              }
           }  catch  (Exception e) {
                 errors.add(field.getKey(),
                    Resources.getActionMessage(
                        val,
                        request,
                        va,
                        field));
                  return  false;
           }
        }

         return  true;
    }

HELP!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
Validation.xml
    #34503484
guest62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь помогите!!!!!!!!!!!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Validation.xml
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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