i18n Integration

Internationalization

If you are using i18n (Internationalization and Localization) in your ColdBox applications you can also localize your validation error messages from the ColdBox validators.

Info You do not need to install the cbi18n module. This module is already a dependency of the cbvalidation module.

You will do this by our lovely conventions for you resource bundle keys:

Domain Objects:

{ObjectName}.{Field}.{ConstraintType}}=Message

Forms with Shared Constraints Name

{SharedConstraintName}.{Field}.{ConstraintType}=Message

Forms with No Shared Constraints (A-la-carte constraints)

GenericForm.{Field}.{ConstraintType}=Message

Usage

When your resource bundle keys are ready, you then specify the locale argument in your validation calls to put them into play:

validate( target=target, constraint="sharedUser", locale=getFwLocale());

Key Replacements

We also setup lots of global {Key} replacements for your messages and also several that the core constraint validators offer as well:

Global Replacements

  • {rejectedValue} - The rejected value

  • {field} or property - The property or field that was validated

  • {validationType} - The name of the constraint validator

  • {validationData} - The value of the constraint definition, e.g size=5..10, then this value is 5..10

  • {targetName} - The name of the user, shared constraint or form

i18n Validator Replacements

  • {DiscreteValidator} - operation, operationValue

  • {InListValidator} - inList

  • {MaxValidator} - max

  • {MinValidator} - min

  • {RangeValidator} - range, min, max

  • {RegexValidator} - regex

  • {SameAsValidator}, {SameAsNoCaseValidator} - SameAs

  • {SizeValidator} - size, min, max

  • {TypeValidator} - type

Examples

Please note that since version 3.x of cbvalidation you can use json resource bundles thanks to cbi18n v2.x

Last updated

Was this helpful?