Re: Internationalized Validators
Yes! This will make the component tree a bit heavier but it would definitely simplify the code! Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Tue, Jan 27, 2015 at 10:02 AM, Tobias Soloschenko < tobiassolosche...@googlemail.com> wrote: > You could apply the validator without any switch and build in a check > which receives the Session Locale and only apply the validation if the > locale is en_US > > kind regards > > Tobias > > > Am 27.01.2015 um 08:40 schrieb Martin Grigorov : > > > > On Tue, Jan 27, 2015 at 9:16 AM, Tobias Soloschenko < > > tobiassolosche...@googlemail.com> wrote: > > > >> Ah, just one addition: No you would not require to switch the parameter, > >> because the parameter would remain the same - in the property files it > >> would look like this: > >> > >> Propertyfile for en_GB: > >> > >> maxvalue=200 > >> > >> Propertyfile for de_DE: > >> > >> maxvalue=100 > >> > >> in the code you would receive the max value based on the current locale > >> "getString("maxvalue")" > >> > > > > This will work if the app code uses the same type of validator with > > different arguments, but it won't work if for some locales/markets it has > > to use a completely different validator (like AnotherValidatorOnlyForUS). > > But yes, it would simplify the "switch"! > > > > > >> > >> kind regards > >> > >> Tobias > >> > >>> Am 27.01.2015 um 07:38 schrieb Christian Schröter < > >> christian.schroe...@1und1.de>: > >>> > >>> > >>> Thank you Tobias, > >>> > >>> but this will unfortunately just solve the problem having the same > >> validator with different parameters. To add a market specific > validator, I > >> still would need to switch case the locale. > >>> > >>> Any other ideas? > >>> > Hi, > > you could place the values in the locale file and parse them. > > Integer.parseInt(getString("maxvalue")); > > kind regards > > Tobias > > > Am 26.01.2015 um 11:01 schrieb Christian Schröter < > >> christian.schroe...@1und1.de>: > > > > Hey, > > > > I would be interested to know if there is a builtin mechanism to add > >> specific validators for a certain locale. > > > > For example: > > > > de_DE -> StringValidator.maximumLength(100) > > en_GB -> StringValidator.maximumLength(200); > > en_US -> StringValidator.maximumLength(200); > > & AnotherValidatorOnlyForUS(); > > > > My current solution is a switch-case over the locale to add the > >> correct validators. > > With more locales and more validators this solution feels kind of > >> sloppy. > > > > What does your solution looks like? > > > > > > Cheers, > > Chris > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >>> > >>> > >>> - > >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >>> For additional commands, e-mail: users-h...@wicket.apache.org > >>> > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > >> > >> > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Internationalized Validators
You could apply the validator without any switch and build in a check which receives the Session Locale and only apply the validation if the locale is en_US kind regards Tobias > Am 27.01.2015 um 08:40 schrieb Martin Grigorov : > > On Tue, Jan 27, 2015 at 9:16 AM, Tobias Soloschenko < > tobiassolosche...@googlemail.com> wrote: > >> Ah, just one addition: No you would not require to switch the parameter, >> because the parameter would remain the same - in the property files it >> would look like this: >> >> Propertyfile for en_GB: >> >> maxvalue=200 >> >> Propertyfile for de_DE: >> >> maxvalue=100 >> >> in the code you would receive the max value based on the current locale >> "getString("maxvalue")" >> > > This will work if the app code uses the same type of validator with > different arguments, but it won't work if for some locales/markets it has > to use a completely different validator (like AnotherValidatorOnlyForUS). > But yes, it would simplify the "switch"! > > >> >> kind regards >> >> Tobias >> >>> Am 27.01.2015 um 07:38 schrieb Christian Schröter < >> christian.schroe...@1und1.de>: >>> >>> >>> Thank you Tobias, >>> >>> but this will unfortunately just solve the problem having the same >> validator with different parameters. To add a market specific validator, I >> still would need to switch case the locale. >>> >>> Any other ideas? >>> Hi, you could place the values in the locale file and parse them. Integer.parseInt(getString("maxvalue")); kind regards Tobias > Am 26.01.2015 um 11:01 schrieb Christian Schröter < >> christian.schroe...@1und1.de>: > > Hey, > > I would be interested to know if there is a builtin mechanism to add >> specific validators for a certain locale. > > For example: > > de_DE -> StringValidator.maximumLength(100) > en_GB -> StringValidator.maximumLength(200); > en_US -> StringValidator.maximumLength(200); > & AnotherValidatorOnlyForUS(); > > My current solution is a switch-case over the locale to add the >> correct validators. > With more locales and more validators this solution feels kind of >> sloppy. > > What does your solution looks like? > > > Cheers, > Chris - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >>> - >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >> >> - >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Internationalized Validators
On Tue, Jan 27, 2015 at 9:16 AM, Tobias Soloschenko < tobiassolosche...@googlemail.com> wrote: > Ah, just one addition: No you would not require to switch the parameter, > because the parameter would remain the same - in the property files it > would look like this: > > Propertyfile for en_GB: > > maxvalue=200 > > Propertyfile for de_DE: > > maxvalue=100 > > in the code you would receive the max value based on the current locale > "getString("maxvalue")" > This will work if the app code uses the same type of validator with different arguments, but it won't work if for some locales/markets it has to use a completely different validator (like AnotherValidatorOnlyForUS). But yes, it would simplify the "switch"! > > kind regards > > Tobias > > > Am 27.01.2015 um 07:38 schrieb Christian Schröter < > christian.schroe...@1und1.de>: > > > > > > Thank you Tobias, > > > > but this will unfortunately just solve the problem having the same > validator with different parameters. To add a market specific validator, I > still would need to switch case the locale. > > > > Any other ideas? > > > >> Hi, > >> > >> you could place the values in the locale file and parse them. > >> > >> Integer.parseInt(getString("maxvalue")); > >> > >> kind regards > >> > >> Tobias > >> > >>> Am 26.01.2015 um 11:01 schrieb Christian Schröter < > christian.schroe...@1und1.de>: > >>> > >>> Hey, > >>> > >>> I would be interested to know if there is a builtin mechanism to add > specific validators for a certain locale. > >>> > >>> For example: > >>> > >>> de_DE -> StringValidator.maximumLength(100) > >>> en_GB -> StringValidator.maximumLength(200); > >>> en_US -> StringValidator.maximumLength(200); > >>> & AnotherValidatorOnlyForUS(); > >>> > >>> My current solution is a switch-case over the locale to add the > correct validators. > >>> With more locales and more validators this solution feels kind of > sloppy. > >>> > >>> What does your solution looks like? > >>> > >>> > >>> Cheers, > >>> Chris > >> > >> - > >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >> For additional commands, e-mail: users-h...@wicket.apache.org > > > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Internationalized Validators
Ah, just one addition: No you would not require to switch the parameter, because the parameter would remain the same - in the property files it would look like this: Propertyfile for en_GB: maxvalue=200 Propertyfile for de_DE: maxvalue=100 in the code you would receive the max value based on the current locale "getString("maxvalue")" kind regards Tobias > Am 27.01.2015 um 07:38 schrieb Christian Schröter > : > > > Thank you Tobias, > > but this will unfortunately just solve the problem having the same validator > with different parameters. To add a market specific validator, I still would > need to switch case the locale. > > Any other ideas? > >> Hi, >> >> you could place the values in the locale file and parse them. >> >> Integer.parseInt(getString("maxvalue")); >> >> kind regards >> >> Tobias >> >>> Am 26.01.2015 um 11:01 schrieb Christian Schröter >>> : >>> >>> Hey, >>> >>> I would be interested to know if there is a builtin mechanism to add >>> specific validators for a certain locale. >>> >>> For example: >>> >>> de_DE -> StringValidator.maximumLength(100) >>> en_GB -> StringValidator.maximumLength(200); >>> en_US -> StringValidator.maximumLength(200); >>> & AnotherValidatorOnlyForUS(); >>> >>> My current solution is a switch-case over the locale to add the correct >>> validators. >>> With more locales and more validators this solution feels kind of sloppy. >>> >>> What does your solution looks like? >>> >>> >>> Cheers, >>> Chris >> >> - >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Internationalized Validators
Hi, I don't see any better way. Either you use a simple switch statement or a special factory class it is almost the same - you have to keep it up-to-date with the list of supported locales/markets. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Tue, Jan 27, 2015 at 8:38 AM, Christian Schröter < christian.schroe...@1und1.de> wrote: > > Thank you Tobias, > > but this will unfortunately just solve the problem having the same > validator with different parameters. To add a market specific validator, I > still would need to switch case the locale. > > Any other ideas? > > > Hi, > > > > you could place the values in the locale file and parse them. > > > > Integer.parseInt(getString("maxvalue")); > > > > kind regards > > > > Tobias > > > >> Am 26.01.2015 um 11:01 schrieb Christian Schröter < > christian.schroe...@1und1.de>: > >> > >> Hey, > >> > >> I would be interested to know if there is a builtin mechanism to add > specific validators for a certain locale. > >> > >> For example: > >> > >> de_DE -> StringValidator.maximumLength(100) > >> en_GB -> StringValidator.maximumLength(200); > >> en_US -> StringValidator.maximumLength(200); > >> & AnotherValidatorOnlyForUS(); > >> > >> My current solution is a switch-case over the locale to add the correct > validators. > >> With more locales and more validators this solution feels kind of > sloppy. > >> > >> What does your solution looks like? > >> > >> > >> Cheers, > >> Chris > > > > - > > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > > For additional commands, e-mail: users-h...@wicket.apache.org > > > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >
Re: Internationalized Validators
Hi, you could switch the locale of the session http://ci.apache.org/projects/wicket/apidocs/6.0.x/org/apache/wicket/protocol/http/WebSession.html setLocale(Locale locale) Here is an example in which the locale is switched by a link click: https://cwiki.apache.org/confluence/display/WICKET/Manually+switching+locale For normal the locale is resolved by the preferred language of the browser. You may switch the locale based on the market which is currently displayed. I don't know if it is possible to switch the locale of a component Hierarchy. Here the link to the user guide for i18n: http://wicket.apache.org/guide/guide/i18n.html kind regards Tobias > Am 27.01.2015 um 07:38 schrieb Christian Schröter > : > > > Thank you Tobias, > > but this will unfortunately just solve the problem having the same validator > with different parameters. To add a market specific validator, I still would > need to switch case the locale. > > Any other ideas? > >> Hi, >> >> you could place the values in the locale file and parse them. >> >> Integer.parseInt(getString("maxvalue")); >> >> kind regards >> >> Tobias >> >>> Am 26.01.2015 um 11:01 schrieb Christian Schröter >>> : >>> >>> Hey, >>> >>> I would be interested to know if there is a builtin mechanism to add >>> specific validators for a certain locale. >>> >>> For example: >>> >>> de_DE -> StringValidator.maximumLength(100) >>> en_GB -> StringValidator.maximumLength(200); >>> en_US -> StringValidator.maximumLength(200); >>> & AnotherValidatorOnlyForUS(); >>> >>> My current solution is a switch-case over the locale to add the correct >>> validators. >>> With more locales and more validators this solution feels kind of sloppy. >>> >>> What does your solution looks like? >>> >>> >>> Cheers, >>> Chris >> >> - >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Internationalized Validators
Thank you Tobias, but this will unfortunately just solve the problem having the same validator with different parameters. To add a market specific validator, I still would need to switch case the locale. Any other ideas? > Hi, > > you could place the values in the locale file and parse them. > > Integer.parseInt(getString("maxvalue")); > > kind regards > > Tobias > >> Am 26.01.2015 um 11:01 schrieb Christian Schröter >> : >> >> Hey, >> >> I would be interested to know if there is a builtin mechanism to add >> specific validators for a certain locale. >> >> For example: >> >> de_DE -> StringValidator.maximumLength(100) >> en_GB -> StringValidator.maximumLength(200); >> en_US -> StringValidator.maximumLength(200); >> & AnotherValidatorOnlyForUS(); >> >> My current solution is a switch-case over the locale to add the correct >> validators. >> With more locales and more validators this solution feels kind of sloppy. >> >> What does your solution looks like? >> >> >> Cheers, >> Chris > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Internationalized Validators
Hi, you could place the values in the locale file and parse them. Integer.parseInt(getString("maxvalue")); kind regards Tobias > Am 26.01.2015 um 11:01 schrieb Christian Schröter > : > > Hey, > > I would be interested to know if there is a builtin mechanism to add specific > validators for a certain locale. > > For example: > > de_DE -> StringValidator.maximumLength(100) > en_GB -> StringValidator.maximumLength(200); > en_US -> StringValidator.maximumLength(200); > & AnotherValidatorOnlyForUS(); > > My current solution is a switch-case over the locale to add the correct > validators. > With more locales and more validators this solution feels kind of sloppy. > > What does your solution looks like? > > > Cheers, > Chris - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Internationalized Validators
Hey, I would be interested to know if there is a builtin mechanism to add specific validators for a certain locale. For example: de_DE -> StringValidator.maximumLength(100) en_GB -> StringValidator.maximumLength(200); en_US -> StringValidator.maximumLength(200); & AnotherValidatorOnlyForUS(); My current solution is a switch-case over the locale to add the correct validators. With more locales and more validators this solution feels kind of sloppy. What does your solution looks like? Cheers, Chris