I have to write custom validation method where I iterate all "PageText" class
and validate it.
I want to use validate() method from ActionSupport class but the method is
invoke always.
I need invoke validator method only when is invoke method save();
Is better resolution?
public String save() throws Exception{
if (!isValid())
return INPUT;
pageService.update(page);
return execute();
}
private boolean isValid(){
boolean success = true;
for (Map.Entry<LanguageName, PageText> e :
page.getTexts().entrySet()){
if (e.getValue().getDescription().length() < 6 ){
addFieldError(getComponentName(e.getValue(), "description"),
getText("validation.page.texts.description"));
success = false;
}
}
return success; //==========>
}
Kibo wrote:
>
> Hi konference
>
> How can I validate classes which are associated in collection.
> The class "Page" contents Map with "PageText" classes:
>
> Page.java
> ------------------
> private Map<LanguageName, PageText> texts = new HashMap();
>
> ... getter / setter
>
> PageText.java
> --------------------------
> private String description;
>
> @StringLengthFieldValidator(message="Length too short",
> key="validate.minLength.6", trim=true, mimLength = "6")
> public void setDescription(String description) {
> this.description = description;
> }
>
> Action.java
> -------------------
> private Page page;
>
> //it work but I need validate all classes in Map, not only ['en']
> @Validations( visitorFields = {
> @VisitorFieldValidator(
> message = "Default message", key = "i18n.key",
> fieldName= "page.texts['en']", appendPrefix = false) }
> )
> public String execute() throws Exception{
>
> return Action.SUCCESS;
> }
>
> ------------------------
>
> When I set: fieldName= "page.texts['en']" it work, but in Map are a lots
> of classes.
> I need validate all class in collection.
> When I set only: fieldName= "page.texts" it dont work.
> I need set something of : fieldName= "page.texts[*]" but it dont work.
>
> How can I determine in attribute fieldName as to validate all classes in
> "page.texts" ?
> Is it possible or I must resolve it otherwise?
>
> Thanks a lot
>
>
-----
Tomas Jurman
Czech Republic
--
View this message in context:
http://www.nabble.com/Validate-associate-Map-tp19010237p19011738.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]