Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как добавить новый Validation-rule


Автор: Asadullo 3.5.2007, 09:31
Ребята я тут новый validation-rule написал. Но она не работаеть. Кто нибудь, помогите!

validation-rule.xml: 

Код

<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: 

Код

<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>


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

Код

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!!!!!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)