@@ -103,7 +103,13 @@ dataValidationEvaluatorRegistry.add("textContains", {
103103 criterionValueErrorString : DVTerms . CriterionError . notEmptyValue ,
104104 numberOfValues : ( ) => 1 ,
105105 name : _t ( "Text contains" ) ,
106- getPreview : ( criterion ) => _t ( 'Text contains "%s"' , criterion . values [ 0 ] ) ,
106+ getPreview : ( criterion : TextContainsCriterion , getters : Getters ) => {
107+ const locale = getters . getLocale ( ) ;
108+ const localizedValue = criterion . values [ 0 ]
109+ ? localizeContent ( criterion . values [ 0 ] ?. toString ( ) , locale )
110+ : "" ;
111+ return _t ( 'Text contains "%s"' , localizedValue ) ;
112+ } ,
107113} ) ;
108114
109115dataValidationEvaluatorRegistry . add ( "textNotContains" , {
@@ -119,7 +125,13 @@ dataValidationEvaluatorRegistry.add("textNotContains", {
119125 criterionValueErrorString : DVTerms . CriterionError . notEmptyValue ,
120126 numberOfValues : ( ) => 1 ,
121127 name : _t ( "Text does not contains" ) ,
122- getPreview : ( criterion ) => _t ( 'Text does not contain "%s"' , criterion . values [ 0 ] ) ,
128+ getPreview : ( criterion : TextNotContainsCriterion , getters : Getters ) => {
129+ const locale = getters . getLocale ( ) ;
130+ const localizedValue = criterion . values [ 0 ]
131+ ? localizeContent ( criterion . values [ 0 ] ?. toString ( ) , locale )
132+ : "" ;
133+ return _t ( 'Text does not contain "%s"' , localizedValue ) ;
134+ } ,
123135} ) ;
124136
125137dataValidationEvaluatorRegistry . add ( "textIs" , {
@@ -135,7 +147,13 @@ dataValidationEvaluatorRegistry.add("textIs", {
135147 criterionValueErrorString : DVTerms . CriterionError . notEmptyValue ,
136148 numberOfValues : ( ) => 1 ,
137149 name : _t ( "Text is exactly" ) ,
138- getPreview : ( criterion ) => _t ( 'Text is exactly "%s"' , criterion . values [ 0 ] ) ,
150+ getPreview : ( criterion : TextContainsCriterion , getters : Getters ) => {
151+ const locale = getters . getLocale ( ) ;
152+ const localizedValue = criterion . values [ 0 ]
153+ ? localizeContent ( criterion . values [ 0 ] ?. toString ( ) , locale )
154+ : "" ;
155+ return _t ( 'Text is exactly "%s"' , localizedValue ) ;
156+ } ,
139157} ) ;
140158
141159/** Note: this regex doesn't allow for all the RFC-compliant mail addresses but should be enough for our purpose. */
@@ -430,7 +448,11 @@ dataValidationEvaluatorRegistry.add("isEqual", {
430448 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
431449 numberOfValues : ( ) => 1 ,
432450 name : _t ( "Is equal to" ) ,
433- getPreview : ( criterion ) => _t ( "Value is equal to %s" , criterion . values [ 0 ] ) ,
451+ getPreview : ( criterion : IsEqualCriterion , getters : Getters ) => {
452+ const locale = getters . getLocale ( ) ;
453+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
454+ return _t ( "Value is equal to %s" , values [ 0 ] ) ;
455+ } ,
434456} ) ;
435457
436458dataValidationEvaluatorRegistry . add ( "isNotEqual" , {
@@ -455,7 +477,11 @@ dataValidationEvaluatorRegistry.add("isNotEqual", {
455477 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
456478 numberOfValues : ( ) => 1 ,
457479 name : _t ( "Is not equal to" ) ,
458- getPreview : ( criterion ) => _t ( "Value is not equal to %s" , criterion . values [ 0 ] ) ,
480+ getPreview : ( criterion : IsEqualCriterion , getters : Getters ) => {
481+ const locale = getters . getLocale ( ) ;
482+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
483+ return _t ( "Value is not equal to %s" , values [ 0 ] ) ;
484+ } ,
459485} ) ;
460486
461487dataValidationEvaluatorRegistry . add ( "isGreaterThan" , {
@@ -480,7 +506,11 @@ dataValidationEvaluatorRegistry.add("isGreaterThan", {
480506 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
481507 numberOfValues : ( ) => 1 ,
482508 name : _t ( "Is greater than" ) ,
483- getPreview : ( criterion ) => _t ( "Value is greater than %s" , criterion . values [ 0 ] ) ,
509+ getPreview : ( criterion : IsGreaterThanCriterion , getters : Getters ) => {
510+ const locale = getters . getLocale ( ) ;
511+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
512+ return _t ( "Value is greater than %s" , values [ 0 ] ) ;
513+ } ,
484514} ) ;
485515
486516dataValidationEvaluatorRegistry . add ( "isGreaterOrEqualTo" , {
@@ -505,7 +535,11 @@ dataValidationEvaluatorRegistry.add("isGreaterOrEqualTo", {
505535 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
506536 numberOfValues : ( ) => 1 ,
507537 name : _t ( "Is greater or equal to" ) ,
508- getPreview : ( criterion ) => _t ( "Value is greater or equal to %s" , criterion . values [ 0 ] ) ,
538+ getPreview : ( criterion : IsGreaterOrEqualToCriterion , getters : Getters ) => {
539+ const locale = getters . getLocale ( ) ;
540+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
541+ return _t ( "Value is greater or equal to %s" , values [ 0 ] ) ;
542+ } ,
509543} ) ;
510544
511545dataValidationEvaluatorRegistry . add ( "isLessThan" , {
@@ -530,7 +564,11 @@ dataValidationEvaluatorRegistry.add("isLessThan", {
530564 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
531565 numberOfValues : ( ) => 1 ,
532566 name : _t ( "Is less than" ) ,
533- getPreview : ( criterion ) => _t ( "Value is less than %s" , criterion . values [ 0 ] ) ,
567+ getPreview : ( criterion : IsLessThanCriterion , getters : Getters ) => {
568+ const locale = getters . getLocale ( ) ;
569+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
570+ return _t ( "Value is less than %s" , values [ 0 ] ) ;
571+ } ,
534572} ) ;
535573
536574dataValidationEvaluatorRegistry . add ( "isLessOrEqualTo" , {
@@ -555,7 +593,11 @@ dataValidationEvaluatorRegistry.add("isLessOrEqualTo", {
555593 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
556594 numberOfValues : ( ) => 1 ,
557595 name : _t ( "Is less or equal to" ) ,
558- getPreview : ( criterion ) => _t ( "Value is less or equal to %s" , criterion . values [ 0 ] ) ,
596+ getPreview : ( criterion : IsLessOrEqualToCriterion , getters : Getters ) => {
597+ const locale = getters . getLocale ( ) ;
598+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
599+ return _t ( "Value is less or equal to %s" , values [ 0 ] ) ;
600+ } ,
559601} ) ;
560602
561603dataValidationEvaluatorRegistry . add ( "isBetween" , {
@@ -580,8 +622,11 @@ dataValidationEvaluatorRegistry.add("isBetween", {
580622 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
581623 numberOfValues : ( ) => 2 ,
582624 name : _t ( "Is between" ) ,
583- getPreview : ( criterion ) =>
584- _t ( "Value is between %s and %s" , criterion . values [ 0 ] , criterion . values [ 1 ] ) ,
625+ getPreview : ( criterion : IsBetweenCriterion , getters : Getters ) => {
626+ const locale = getters . getLocale ( ) ;
627+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
628+ return _t ( "Value is between %s and %s" , values [ 0 ] , values [ 1 ] ) ;
629+ } ,
585630} ) ;
586631
587632dataValidationEvaluatorRegistry . add ( "isNotBetween" , {
@@ -606,8 +651,11 @@ dataValidationEvaluatorRegistry.add("isNotBetween", {
606651 criterionValueErrorString : DVTerms . CriterionError . numberValue ,
607652 numberOfValues : ( ) => 2 ,
608653 name : _t ( "Is not between" ) ,
609- getPreview : ( criterion ) =>
610- _t ( "Value is not between %s and %s" , criterion . values [ 0 ] , criterion . values [ 1 ] ) ,
654+ getPreview : ( criterion : IsNotBetweenCriterion , getters : Getters ) => {
655+ const locale = getters . getLocale ( ) ;
656+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
657+ return _t ( "Value is not between %s and %s" , values [ 0 ] , values [ 1 ] ) ;
658+ } ,
611659} ) ;
612660
613661dataValidationEvaluatorRegistry . add ( "isBoolean" , {
@@ -631,14 +679,23 @@ dataValidationEvaluatorRegistry.add("isValueInList", {
631679 . map ( ( str ) => str . toLowerCase ( ) )
632680 . includes ( value . toString ( ) . toLowerCase ( ) ) ;
633681 } ,
634- getErrorString : ( criterion : IsValueInListCriterion ) =>
635- _t ( "The value must be one of: %s" , criterion . values . join ( ", " ) ) ,
682+ getErrorString : ( criterion : IsValueInListCriterion , getters : Getters ) => {
683+ const locale = getters . getLocale ( ) ;
684+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
685+ const separator = `${ locale . formulaArgSeparator || "," } ` ;
686+ return _t ( "The value must be one of: %s" , values . join ( separator ) ) ;
687+ } ,
636688 isCriterionValueValid : ( ) => true ,
637689 criterionValueErrorString : "" ,
638690 numberOfValues : ( ) => undefined ,
639691 allowedValues : "onlyLiterals" ,
640692 name : _t ( "Value in list" ) ,
641- getPreview : ( criterion ) => _t ( "Value one of: %s" , criterion . values . join ( ", " ) ) ,
693+ getPreview : ( criterion : IsValueInListCriterion , getters : Getters ) => {
694+ const locale = getters . getLocale ( ) ;
695+ const values = getNumberCriterionlocalizedValues ( criterion , locale ) ;
696+ const separator = `${ locale . formulaArgSeparator || "," } ` ;
697+ return _t ( "Value one of: %s" , values . join ( separator ) ) ;
698+ } ,
642699} ) ;
643700
644701dataValidationEvaluatorRegistry . add ( "isValueInRange" , {
0 commit comments