Does this mechanism work when in edition, the contributor switch the input language by clicking of the language flags in the editing pop-up ?



2005/10/3, [EMAIL PROTECTED] <[EMAIL PROTECTED]>:

The Jahia Field Input Validation Guide, which is currently linked on the Documentation page is unfortunately an older version. You should read the corrected text in Chapter 17 of the Jahia 4.x Template Developer Guide, which is also linked on the Documentation page.

On page 108 you can read the following:

>> The validator only accesses the getter-methods of those fields, for which you will define validation rules. The field values should be taken from the ContainerFacadeInterface object and for that you should use the inherited methods getJahiaField(String) or getJahiaMultiLanguageField(String). Which method to use depends on the validation rule, which should be applied. Most of the standard validators expect the field value as a String, but there are Jahia specific multilingual validations, which need to get access to all language entries of a field and for those fields you should return a JahiaMltHelper object.

If you want to apply both (standard validators and Jahia multilingual validators) to the same field you should provide two different getter-methods. In this special case, the getter method returning the String must match the field name property, while for the getter method returning the JahiaMltHelper you can choose any property name.<<

So if you use the standard "validwhen" validation rule, your bean method should return a String, even if the field-type is SMALLTEXT and the value is multilingual.


Just use:
     public String getImageAlt()
    {
        return getJahiaField("ImageAlt");
    }


This way your "validwhen" rule will check the value of ImageAlt for the current language somebody is working on.

Greetings,
Benjamin

Sébastien Landeau <[EMAIL PROTECTED]> wrote on 30.09.2005 17:05:38:


> Hello,
>
>
> We have a container with 2 fields :

> An Image Field (type FieldTypes.FILE)
> An ImageAlt Field (type FieldTypes.SMALLTEXT)
>
> We want to check the following validation rule : "The  ImageAlt
> field is mandatory only if the Image field is not null"
>
> Code of the JavaBean associated to the ImageAlt field :
>
>     public JahiaMltHelper getImageAlt()
>     {
>         return getJahiaMultiLanguageField("ImageAlt");
>     }
>
>
> Here is an extract of the Jakarta validation Xml file :

> < field property = "imageAlt" depends = "validwhen" >
>     < msg name = "validwhen" key = "errors.required" />
>     < arg0 key = "ImageAlt" resource = "false" />
>     < var >
>         < var-name > test </ var-name >    
>         < var-value > ((image == null) or (*this* != null)) </ var-value >
>     </ var >
> </ field >

> This code doesn't work.
>
>
>
>
> If the ImageAlt definition is changed to a FieldTypes.
> SMALLTEXT_SHARED_LANG type, the rule works fine with the
> following modification in the validation JavaBean :
>     public String getImageAlt()
>     {
>         return getJahiaField("ImageAlt");
>     }
>
> In this special case all works fine. But we need multi lingual fields !!!
>
>
> Thank's for your help.
>
>
> Best regards...

Reply via email to