我面临着一个struts验证程序问题。

我有一个这样的对象:

public class Reconstitution {
       private List<FormuleReconstitution> formuleList;
      ...
      ...some other attributes and methods...
}


和:

public class FormuleReconstitution{
    private Map<Long, ElementFormuleReconstitution> serieMap;
    ...
    ...some other attributes and methods...
}




public class ElementFormuleReconstitution {
    private Double coefficient;
}


我想在MyAction-validation.xml中的系数上添加一个验证器,但我不知道该怎么做。我知道如何添加一个简单的验证器,但是当我有带有submap的子列表时:(

我生成的html代码如下所示:

<input type="text" class="texte" id="reconstitutionformuleList0listeElementFormuleReconstitution0coefficient" tabindex="0" value="" name="reconstitution.formuleList[0].listeElementFormuleReconstitution[0].coefficient"/>


如何在Coefficient字段上添加验证器?

最佳答案

要验证列表内的对象,you need to use the Visitor Validator

然后,要验证最小/最大范围的两倍,您需要:

<field name="coefficient">
    <field-validator type="double">
        <param name="minInclusive">0.0</param>
        <param name="maxInclusive">1000.0</param>
        <message>
            The coefficient must be between ${minInclusive} and ${maxInclusive}
        </message>
    </field-validator>
</field>


最后,建议您阅读how the INPUT result works(有关验证和转换错误)

关于java - Struts2 validator ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26974516/

10-12 03:44