0

アクションクラスではList、次のようなものがあります。

private List<SomeEntity>entity=new ArrayList<SomeEntity>();

public List<SomeEntity> getEntity()
{
    this.entity=someService.getList();  //Initialize after some ugly conditional checks, lazy loading.
    return this.entity;
}

//Setter is not required in this case.

なんらかの理由で宣言の場所で初期化する必要があります。


これListnull(そして実際にはnull、この場合は絶対にあり得ない) ので、アクション メソッドでは、次のようなバリデーターです。

@Validations(
        requiredFields={
            @RequiredFieldValidator(fieldName="entity", type=ValidatorType.FIELD, key="key.required")})
public String doAction()
{
    return ActionSupport.SUCCESS;
}

機能しません (リストにはオブジェクトが含まれておらず、サイズがゼロであるため、ここで検証エラーが発生すると予想されます)。

entityでは、サイズがゼロの場合、このフィールドを検証する方法は?

Struts 2.3.16 を使用しています。

4

1 に答える 1