Example usage for org.apache.commons.validator Arg Arg

List of usage examples for org.apache.commons.validator Arg Arg

Introduction

In this page you can find the example usage for org.apache.commons.validator Arg Arg.

Prototype

Arg

Source Link

Usage

From source file:jp.terasoluna.fw.validation.springmodules.SpringValidationErrorsTest.java

/**
 * testAddErrors01() <br>/*from   ww  w .jav a 2 s . com*/
 * <br>
 * () <br>
 * C <br>
 * <br>
 * () bean:Object<br>
 * () field:Field<br>
 * field.getKey()="key"<br>
 * field.getMsg("name")="messageKey"<br>
 * field.getArg("name", 0)="arg0"<br>
 * field.getArg("name", 1)="arg1"<br>
 * field.getArg("name", 2)="arg2"<br>
 * field.getArg("name", 3)="arg3"<br>
 * () va:ValidationAction<br>
 * va.getName()="name"<br>
 * <br>
 * () rejectValue():??????<br>
 * fieldCode="key"<br>
 * errorCode="messageKey"<br>
 * args={<br>
 * MessageSourceResolvable{<br>
 * codes[0]={"arg0"}, arguments=null, defaultMessage="arg0"}, <br>
 * MessageSourceResolvable{<br>
 * codes[1]={"arg1"}, arguments=null, defaultMessage="arg1"}, <br>
 * MessageSourceResolvable{<br>
 * codes[2]={"arg2"}, arguments=null, defaultMessage="arg2"}, <br>
 * MessageSourceResolvable{<br>
 * codes[3]={"arg3"}, arguments=null, defaultMessage="arg3"}, <br>
 * }<br>
 * <br>
 * ?not null?? <br>
 * @throws Exception ?????
 */
@Test
public void testAddErrors01() throws Exception {
    // ??
    // bean
    Object bean = new Object();
    // field
    Field field = new Field();
    // field.getKey() : "key"
    field.setKey("key");

    // field.getMsg("name")?errorCode????
    FastHashMap hMsgs = new FastHashMap();
    Msg msg = new Msg();
    msg.setKey("messageKey");
    hMsgs.put("name", msg);
    ReflectionTestUtils.setField(field, "hMsgs", hMsgs);

    // Object[] args????
    @SuppressWarnings("rawtypes")
    Map[] args = new HashMap[4];

    // args[0]
    Arg arg = new Arg();
    arg.setKey("arg0");
    Map<String, Arg> hMap01 = new HashMap<String, Arg>();
    hMap01.put("name", arg);
    args[0] = hMap01;

    // args[1]
    arg = new Arg();
    arg.setKey("arg1");
    Map<String, Arg> hMap02 = new HashMap<String, Arg>();
    hMap02.put("name", arg);
    args[1] = hMap02;

    // args[2]
    arg = new Arg();
    arg.setKey("arg2");
    Map<String, Arg> hMap03 = new HashMap<String, Arg>();
    hMap03.put("name", arg);
    args[2] = hMap03;

    // args[3]
    arg = new Arg();
    arg.setKey("arg3");
    Map<String, Arg> hMap04 = new HashMap<String, Arg>();
    hMap04.put("name", arg);
    args[3] = hMap04;

    ReflectionTestUtils.setField(field, "args", args);

    // va
    ValidatorAction va = new ValidatorAction();

    // va.getName : "name"
    va.setName("name");

    // SpringValidationErrors?
    SpringValidationErrors validation = new SpringValidationErrors();

    // Errors? : ErrorsImpl01 - rejectValue???
    ErrorsImpl01 errors = new ErrorsImpl01();
    ReflectionTestUtils.setField(validation, "errors", errors);

    // 
    validation.addError(bean, field, va);

    // 
    ErrorsImpl01 assertErrors = (ErrorsImpl01) ReflectionTestUtils.getField(validation, "errors");
    // rejectValue?
    assertTrue(assertErrors.isRejectValue);

    // field?
    assertEquals("key", assertErrors.field);

    // errorCode?
    assertEquals("messageKey", assertErrors.errorCode);

    // assertSame(args, assertErrors.errorArgs);
    // errorArgs?
    Object[] objs = assertErrors.errorArgs;
    MessageSourceResolvable msr = null;
    for (int i = 0; i < objs.length; i++) {
        msr = (MessageSourceResolvable) objs[i];

        String[] strs = msr.getCodes();
        // codes[0] : "arg" + i
        assertEquals("arg" + i, strs[0]);
        // arguments : null
        assertNull(msr.getArguments());
        // defaultMessage : "arg" + i
        assertEquals("arg" + i, msr.getDefaultMessage());
    }

    // defaultMessage?
    assertEquals("messageKey", assertErrors.defaultMessage);
}

From source file:com.sapienter.jbilling.client.payment.PaymentCrudAction.java

private void validateCreditCard() {
    // set up for cc validation, 
    // (meant for use within Validator framework)

    // from validator.xml
    Arg arg = new Arg();
    arg.setKey("all.prompt.creditCard");
    arg.setPosition(0);/*w ww . j  av a 2 s .c  om*/
    Field field = new Field();
    field.addArg(arg);
    field.setProperty(FIELD_CC_NUMBER);
    field.setDepends("creditCard");

    // from validator-rules.xml
    ValidatorAction va = new ValidatorAction();
    va.setName("creditCard");
    va.setClassname("org.apache.struts.validator.FieldChecks");
    va.setMethod("validateCreditCard");
    va.setMethodParams("java.lang.Object, " + "org.apache.commons.validator.ValidatorAction, "
            + "org.apache.commons.validator.Field, " + "org.apache.struts.action.ActionErrors, "
            + "javax.servlet.http.HttpServletRequest");
    va.setDepends("");
    va.setMsg("errors.creditcard");

    // do cc number validation
    LOG.debug("doing credit card number validation");
    FieldChecks.validateCreditCard(myForm, va, field, errors, request);
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest01.java

/**
 * testGetArrayIndexField02()/*from  w  w  w.j  a v a2s  .  c om*/
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) field:not null<br>
 *                {Arg:key="arg0", position=0;<br>
 *                 Arg:key="arg1", position=1;<br>
 *                 Arg:key="arg2", position=2;<br>
 *                 Arg:key="arg3", position=3}<br>
 *         (?) pos:0<br>
 *
 * <br>
 * l?F(l) Field:not null<br>
 *                  {Arg:key="arg0", position=0;<br>
 *                   Arg:key="arg1", position=1;<br>
 *                   Arg:key="arg2", position=2;<br>
 *                   Arg:key="arg3", position=3}<br>
 *                  (?)<br>
 *
 * <br>
 * ?field?ArgCX^Xkeyl"##INDEX"???A
 * fieldmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testGetArrayIndexField02() throws Exception {

    // l?
    Field field = new Field();
    // arg?
    Arg param0 = new Arg();
    param0.setKey("arg0");
    param0.setPosition(0);
    field.addArg(param0);

    Arg param1 = new Arg();
    param1.setKey("arg1");
    param1.setPosition(1);
    field.addArg(param1);

    Arg param2 = new Arg();
    param2.setPosition(2);
    param2.setKey("arg2");
    field.addArg(param2);

    Arg param3 = new Arg();
    param3.setPosition(3);
    param3.setKey("arg3");
    field.addArg(param3);

    // eXg?s
    Field retField = FieldChecksEx.getArrayIndexField(field, 0);

    assertEquals("arg0", retField.getArg(0).getKey());
    assertEquals("arg1", retField.getArg(1).getKey());
    assertEquals("arg2", retField.getArg(2).getKey());
    assertEquals("arg3", retField.getArg(3).getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest01.java

/**
 * testGetArrayIndexField03()//from w  w w  .j  av a  2 s  .  com
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) field:not null<br>
 *                {Arg:key="##INDEX", position=0;<br>
 *                 Arg:key="##INDEX", position=1;<br>
 *                 Arg:key="##INDEX", position=2;<br>
 *                 Arg:key="##INDEX", position=3}<br>
 *         (?) pos:0<br>
 *
 * <br>
 * l?F(l) Field:not null<br>
 *                  {Arg:key="1", position=0;<br>
 *                   Arg:key="1", position=1;<br>
 *                   Arg:key="1", position=2;<br>
 *                   Arg:key="1", position=3}<br>
 *
 * <br>
 * ?field?ArgCX^Xkeyl"##INDEX"???A
 * keyl?posl?{PmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testGetArrayIndexField03() throws Exception {

    // l?
    Field field = new Field();
    // arg?
    Arg param0 = new Arg();
    param0.setKey("##INDEX");
    param0.setPosition(0);
    field.addArg(param0);

    Arg param1 = new Arg();
    param1.setKey("##INDEX");
    param1.setPosition(1);
    field.addArg(param1);

    Arg param2 = new Arg();
    param2.setKey("##INDEX");
    param2.setPosition(2);
    field.addArg(param2);

    Arg param3 = new Arg();
    param3.setKey("##INDEX");
    param3.setPosition(3);
    field.addArg(param3);

    // eXg?s
    Field retField = FieldChecksEx.getArrayIndexField(field, 0);

    assertEquals("1", retField.getArg(0).getKey());
    assertEquals("1", retField.getArg(1).getKey());
    assertEquals("1", retField.getArg(2).getKey());
    assertEquals("1", retField.getArg(3).getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest01.java

/**
 * testGetArrayIndexField04()//ww w .j a v a  2  s . co  m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) field:not null<br>
 *                {Arg:key="##INDEX", position=0;<br>
 *                 Arg:key="arg1", position=1;<br>
 *                 Arg:key="arg2", position=2;<br>
 *                 Arg:key="##INDEX", position=3}<br>
 *         (?) pos:0<br>
 *
 * <br>
 * l?F(l) Field:not null<br>
 *                  {Arg:key="1", position=0;<br>
 *                   Arg:key="arg1", position=1;<br>
 *                   Arg:key="arg2", position=2;<br>
 *                   Arg:key="1", position=3}<br>
 *
 * <br>
 * ?field?ArgCX^Xkeyl"##INDEX"???A
 * keyl?posl?{PmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testGetArrayIndexField04() throws Exception {

    // l?
    Field field = new Field();
    // arg?
    Arg param0 = new Arg();
    param0.setKey("##INDEX");
    param0.setPosition(0);
    field.addArg(param0);

    Arg param1 = new Arg();
    param1.setKey("arg1");
    param1.setPosition(1);
    field.addArg(param1);

    Arg param2 = new Arg();
    param2.setKey("arg2");
    param2.setPosition(2);
    field.addArg(param2);

    Arg param3 = new Arg();
    param3.setKey("##INDEX");
    param3.setPosition(3);
    field.addArg(param3);

    // eXg?s
    Field retField = FieldChecksEx.getArrayIndexField(field, 0);

    assertEquals("1", retField.getArg(0).getKey());
    assertEquals("arg1", retField.getArg(1).getKey());
    assertEquals("arg2", retField.getArg(2).getKey());
    assertEquals("1", retField.getArg(3).getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex15()//from   w  w w.j  ava  2  s  .  c o m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"stringLengthArray"<br>
 *         (?) field:property="codeArray"<br>
 *                var:stringLength=3<br>
 *                arg:position="0",key="##INDEX",resource="false"<br>
 *                arg:position="1",key="${var:length}",resource="false"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?[?F"logon"<br>
 *                L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) session:L?[?F"logon"l?<br>
 *         (?) ActionForm:ArrayList codeArray(List)<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * ??v?peBList^vf???A
 * truemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex15() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("stringLengthArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("codeArray");
    Var var = new Var();
    var.setName("stringLength");
    var.setValue("3");
    field.addVar(var);

    Arg arg0 = new Arg();
    arg0.setKey("##INDEX");
    arg0.setPosition(0);
    arg0.setResource(false);
    field.addArg(arg0);
    Arg arg1 = new Arg();
    arg1.setKey("${var:stringLength}");
    arg1.setPosition(1);
    arg1.setResource(false);
    field.addArg(arg1);

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    form.setCodeArray(new ArrayList());
    request.setAttribute("logon", form);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex16()//from ww w  .  j  a  v a  2  s. c  o  m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"hankakuString12345"<br>
 *         (?) field:property="codeArray"<br>
 *                arg:position="0",key="##INDEX",resource="false"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?[?F"logon"<br>
 *         (?) session:L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) ActionForm:ArrayList codeArray = {<br>
 *                    ""<br>
 *                }<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * ??[??[?iCfbNX`FbNO?j
 * +5?[?A??smF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex16() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("hankakuString12345");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("codeArray");

    Arg arg0 = new Arg();
    arg0.setKey("##INDEX");
    arg0.setPosition(0);
    arg0.setResource(false);
    field.addArg(arg0);

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    ArrayList<String> testList = new ArrayList<String>();
    testList.add("");
    form.setCodeArray(testList);
    session.setAttribute("logon", form);
    request.setSession(session);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex17()/*from   w ww .  j  a  v a2s .c  o m*/
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"hankakuStringArray"<br>
 *         (?) field:property="codeArray"<br>
 *                arg:position="0",key="##INDEX",resource="false"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?[?F"logon"<br>
 *         (?) session:L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) ActionForm:Arraylist codeArray = {<br>
 *                    "abc",<br>
 *                    ":",<br>
 *                    "123",<br>
 *                    "*!"",<br>
 *                    ""<br>
 *                }<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * ??v?peB?vfList?G?[vf
 * ????AtruepmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex17() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("hankakuStringArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("codeArray");

    Arg arg0 = new Arg();
    arg0.setKey("##INDEX");
    arg0.setPosition(0);
    arg0.setResource(false);
    field.addArg(arg0);

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    ArrayList<String> testList = new ArrayList<String>();
    testList.add("abc");
    testList.add(":");
    testList.add("123");
    testList.add("*!\"");
    testList.add("");
    form.setCodeArray(testList);
    session.setAttribute("logon", form);
    request.setSession(session);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex18()//from w  ww . ja va  2s.  c  o  m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"stringLengthArray"<br>
 *         (?) field:property="stringArray"<br>
 *                var:stringLength="3"<br>
 *                arg:position="0",key="##INDEX",resource="false"<br>
 *                arg:position="1",key="${var:stringLength}",resource="false"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?[?F"logon"<br>
 *         (?) session:L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) ActionForm:String[] stringArray<br>
 *                (vf)<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * ??v?peBz^vf???A
 * truemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex18() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("stringLengthArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("stringArray");
    Var var = new Var();
    var.setName("stringLength");
    var.setValue("3");
    field.addVar(var);

    Arg arg0 = new Arg();
    arg0.setKey("##INDEX");
    arg0.setPosition(0);
    arg0.setResource(false);
    field.addArg(arg0);
    Arg arg1 = new Arg();
    arg1.setKey("${var:stringLength}");
    arg1.setPosition(1);
    arg1.setResource(false);
    field.addArg(arg1);

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    form.setStringArray(new String[] {});
    session.setAttribute("logon", form);
    request.setSession(session);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex20()//from ww w  .  ja v  a2s  .c  om
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"requiredArray"<br>
 *         (?) field:property="stringArray"<br>
 *                arg:position="0",key="##INDEX",resource="false"<br>
 *                arg:position="1",key="##INDEX",resource="false"<br>
 *                arg:position="3",key="##INDEX",resource="false"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?[?F"logon"<br>
 *         (?) session:L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) ActionForm:???FString[1]<br>
 *                ??F<br>
 *                [0]:null(false)<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *         (?) errors:ActionMessage("message"<br>
 *                      args{<br>
 *                        "1", "1", "1"<br>
 *                      })<br>
 *
 * <br>
 * argvf##INDEX???A??`FbN?s
 * mF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex20() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("requiredArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("stringArray");

    Arg arg0 = new Arg();
    arg0.setKey("##INDEX");
    arg0.setPosition(0);
    arg0.setResource(false);
    field.addArg(arg0);

    Arg arg1 = new Arg();
    arg1.setKey("##INDEX");
    arg1.setPosition(1);
    arg1.setResource(false);
    field.addArg(arg1);

    Arg arg2 = new Arg();
    arg2.setKey("##INDEX");
    arg2.setPosition(3);
    arg2.setResource(false);
    field.addArg(arg2);

    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("requiredArray");
    field.addMsg(msg);

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    String[] testArray = { null };
    form.setStringArray(testArray);
    session.setAttribute("logon", form);
    request.setSession(session);

    FieldChecksEx_MessageResourcesImpl01 messageResources = new FieldChecksEx_MessageResourcesImpl01(null,
            null);
    messageResources.message = "{0},{1},{2},{3}";
    request.setAttribute(Globals.MESSAGES_KEY, messageResources);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertFalse(result);
    // G?[?1??B
    assertEquals(1, errors.size());

    Iterator it = errors.get();
    ActionMessage message = (ActionMessage) it.next();
    assertEquals("message", message.getKey());
    Object values[] = message.getValues();
    assertEquals("1", values[0]);
    assertEquals("1", values[1]);
    assertNull(values[2]);
    assertEquals("1", values[3]);
}