@nattyjs/validation-decorators 0.0.1-beta.30 → 0.0.1-beta.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -8,6 +8,9 @@ const ValidatorNames = {
8
8
  alpha: "alpha",
9
9
  alphaNumeric: "alphaNumeric",
10
10
  ascii: "ascii",
11
+ custom: "custom",
12
+ compare: "compare",
13
+ compose: "compose",
11
14
  contains: "contains",
12
15
  creditCard: "creditCard",
13
16
  cusip: "cusip",
@@ -216,9 +219,9 @@ class Linq {
216
219
  }
217
220
 
218
221
  class ValidatorValueChecker {
219
- static pass(params, config) {
222
+ static pass(params, config, isContinue = false) {
220
223
  if (Linq.execute(config, params))
221
- return RegexValidator.isNotBlank(params.value);
224
+ return isContinue || RegexValidator.isNotBlank(params.value);
222
225
  else
223
226
  return false;
224
227
  }
@@ -248,6 +251,52 @@ function alphaNumericValidator(configModel, control) {
248
251
  return alphaValidation(configModel, control, [RegExRule.alphaNumeric, RegExRule.alphaNumericWithSpace], ValidatorNames.alphaNumeric);
249
252
  }
250
253
 
254
+ function compareValidator(configModel, control) {
255
+ let config = getConfigObject(configModel);
256
+ if (ValidatorValueChecker.pass(control, config)) {
257
+ const compareControlValue = control.current[config.fieldName];
258
+ if (RegexValidator.isNotBlank(compareControlValue)) {
259
+ if (!(compareControlValue === control.value))
260
+ return ValidationMessage.toJson(ValidatorNames.compare, config, [control.value, compareControlValue]);
261
+ }
262
+ }
263
+ return ValidationMessage.null();
264
+ }
265
+
266
+ function composeValidator(configModel, control) {
267
+ let config = getConfigObject(configModel);
268
+ if (ValidatorValueChecker.pass(control, config, true)) {
269
+ if (config.validators) {
270
+ let result = void 0;
271
+ for (let validator of config.validators) {
272
+ result = validator.validator(control);
273
+ if (result)
274
+ break;
275
+ }
276
+ if (result)
277
+ return config.messageKey || config.message ? ValidationMessage.toJson(config.messageKey || ValidatorNames.compose, config, [control.value]) : result;
278
+ }
279
+ }
280
+ return ValidationMessage.null();
281
+ }
282
+
283
+ function customValidator(configModel, control) {
284
+ let config = getConfigObject(configModel);
285
+ if (ValidatorValueChecker.pass(control, config, true)) {
286
+ if (config.validators) {
287
+ let result = void 0;
288
+ for (let validator of config.validators) {
289
+ result = validator(control);
290
+ if (result)
291
+ break;
292
+ }
293
+ if (result)
294
+ return config.messageKey || config.message ? ValidationMessage.toJson(config.messageKey || ValidatorNames.custom, config, [control.value]) : result;
295
+ }
296
+ }
297
+ return ValidationMessage.null();
298
+ }
299
+
251
300
  function containsValidator(configModel, control) {
252
301
  let config = getConfigObject(configModel);
253
302
  if (ValidatorValueChecker.pass(control, config)) {
@@ -1551,6 +1600,9 @@ const ControlValidators = {
1551
1600
  alpha: alphaValidator,
1552
1601
  alphaNumeric: alphaNumericValidator,
1553
1602
  ascii: asciiValidator,
1603
+ compare: compareValidator,
1604
+ compose: composeValidator,
1605
+ custom: customValidator,
1554
1606
  contains: containsValidator,
1555
1607
  creditCard: creditCardValidator,
1556
1608
  cusip: cusipValidator,
package/dist/index.d.ts CHANGED
@@ -384,6 +384,19 @@ declare function alphaValidator(configModel: AlphaConfig, params: ValidatorParam
384
384
 
385
385
  declare function alphaNumericValidator(configModel: AlphaConfig, control: ValidatorParams): ValidatorFn;
386
386
 
387
+ interface CompareConfig extends FieldConfig {
388
+ }
389
+
390
+ declare function compareValidator(configModel: CompareConfig, control: ValidatorParams): ValidatorFn;
391
+
392
+ interface ComposeConfig extends BaseValidatorConfig {
393
+ validators: ValidatorFn[];
394
+ }
395
+
396
+ declare function composeValidator(configModel: ComposeConfig, control: ValidatorParams): ValidatorFn;
397
+
398
+ declare function customValidator(configModel: ComposeConfig, control: ValidatorParams): ValidatorFn;
399
+
387
400
  declare function containsValidator(configModel: DefaultConfig, control: ValidatorParams): ValidatorFn;
388
401
 
389
402
  declare function creditCardValidator(configModel: CreditCardConfig, control: ValidatorParams): ValidatorFn;
@@ -496,6 +509,9 @@ declare const ControlValidators: {
496
509
  alpha: typeof alphaValidator;
497
510
  alphaNumeric: typeof alphaNumericValidator;
498
511
  ascii: typeof asciiValidator;
512
+ compare: typeof compareValidator;
513
+ compose: typeof composeValidator;
514
+ custom: typeof customValidator;
499
515
  contains: typeof containsValidator;
500
516
  creditCard: typeof creditCardValidator;
501
517
  cusip: typeof cusipValidator;
@@ -579,4 +595,4 @@ declare const validationForms: {
579
595
  configure(config: FormConfig): void;
580
596
  };
581
597
 
582
- export { AlphaConfig, ArrayConfig, BaseValidatorConfig, ContainsConfig, ControlValidators, CreditCardConfig, DateConfig, DefaultConfig, DifferentConfig, DigitConfig, EmailConfig, ExtensionConfig, FactorConfig, FieldConfig, FileConfig, FormConfig, HexColorConfig, IBANConfig, IpConfig, MaskConfig, MaxDateConfig, MaxTimeConfig, MessageConfig, MinDateConfig, MinTimeConfig, NumberConfig, NumericConfig, NumericValueType, PasswordConfig, PatternConfig, RangeConfig, RelationalOperatorConfig, RequiredConfig, StringComparisonConfig, StringValueConfig, TimeConfig, TimeRelationConfig, UrlConfig, ValidatorFn, allOf as decoratorAllOfValidation, alphaNumeric as decoratorAlphaNumericValidation, alpha as decoratorAlphaValidation, ascii as decoratorAsciiValidation, blacklist as decoratorBlacklistSanitizer, contains as decoratorContainsValidation, creditCard as decoratorCreditCardValidation, cusip as decoratorCusipValidation, dataUri as decoratorDataUriValidation, date as decoratorDateValidation, different as decoratorDifferentValdiation, digit as decoratorDigitValidation, email as decoratorEmailValidation, endsWith as decoratorEndsWithValidation, escape as decoratorEscapeSanitizer, even as decoratorEvenValidation, extension as decoratorExtensionValidation, factor as decoratorFactorValidation, greaterThanEqualTo as decoratorGreaterThanEqualToValidation, greaterThan as decoratorGreaterThanValidation, hexColor as decoratorHexColorValidation, ip as decoratorIpValidation, json as decoratorJsonValidation, latLong as decoratorLatLongValidation, latitude as decoratorLatitudeValdiation, leapYear as decoratorLeapYearValidation, lessThanEqualTo as decoratorLessThanEqualToValidation, lessThan as decoratorLessThanValidation, longitude as decoratorLongitudeValidation, lowerCase as decoratorLowercaseValidation, ltrim as decoratorLtrimSanitizer, mac as decoratorMacValidation, maxDate as decoratorMaxDateValidation, maxLength as decoratorMaxLengthValidation, maxNumber as decoratorMaxNumberValidation, maxTime as decoratorMaxTimeValidation, minDate as decoratorMinDateValidation, minLength as decoratorMinLengthValidation, minNumber as decoratorMinNumberValidation, minTime as decoratorMinTimeValidation, noneOf as decoratorNoneOfValidation, notEmpty as decoratorNotEmptyValidation, numeric as decoratorNumericValidation, odd as decoratorOddValidation, oneOf as decoratorOneOfValidation, password as decoratorPasswordValdiation, pattern as decoratorPatternValidation, port as decoratorPortValidation, prefix as decoratorPrefixSanitizer, primeNumber as decoratorPrimeNumberValidation, range as decoratorRangeValidation, decoratorRegistrationCaller, requiredTrue as decoratorRequiredTrueValidation, required as decoratorRequiredValidation, rtrim as decoratorRtrimSanitizer, sanitize as decoratorSanitizeSanitizer, startsWith as decoratorStartsWithValidation, stripLow as decoratorStripLowSanitizer, suffix as decoratorSuffixSanitizer, toBoolean as decoratorToBooleanSanitizer, toDate as decoratorToDateSanitizer, toInt as decoratorToIntSanitizer, toString as decoratorToStringSanitizer, trim as decoratorTrimSanitizer, upperCase as decoratorUpperCaseValidation, url as decoratorUrlValidation, whitelist as decoratorWhitelistSanitizer, prop, validationForms };
598
+ export { AlphaConfig, ArrayConfig, BaseValidatorConfig, CompareConfig, ComposeConfig, ContainsConfig, ControlValidators, CreditCardConfig, DateConfig, DefaultConfig, DifferentConfig, DigitConfig, EmailConfig, ExtensionConfig, FactorConfig, FieldConfig, FileConfig, FormConfig, HexColorConfig, IBANConfig, IpConfig, MaskConfig, MaxDateConfig, MaxTimeConfig, MessageConfig, MinDateConfig, MinTimeConfig, NumberConfig, NumericConfig, NumericValueType, PasswordConfig, PatternConfig, RangeConfig, RelationalOperatorConfig, RequiredConfig, StringComparisonConfig, StringValueConfig, TimeConfig, TimeRelationConfig, UrlConfig, ValidatorFn, ValidatorParams, allOf as decoratorAllOfValidation, alphaNumeric as decoratorAlphaNumericValidation, alpha as decoratorAlphaValidation, ascii as decoratorAsciiValidation, blacklist as decoratorBlacklistSanitizer, contains as decoratorContainsValidation, creditCard as decoratorCreditCardValidation, cusip as decoratorCusipValidation, dataUri as decoratorDataUriValidation, date as decoratorDateValidation, different as decoratorDifferentValdiation, digit as decoratorDigitValidation, email as decoratorEmailValidation, endsWith as decoratorEndsWithValidation, escape as decoratorEscapeSanitizer, even as decoratorEvenValidation, extension as decoratorExtensionValidation, factor as decoratorFactorValidation, greaterThanEqualTo as decoratorGreaterThanEqualToValidation, greaterThan as decoratorGreaterThanValidation, hexColor as decoratorHexColorValidation, ip as decoratorIpValidation, json as decoratorJsonValidation, latLong as decoratorLatLongValidation, latitude as decoratorLatitudeValdiation, leapYear as decoratorLeapYearValidation, lessThanEqualTo as decoratorLessThanEqualToValidation, lessThan as decoratorLessThanValidation, longitude as decoratorLongitudeValidation, lowerCase as decoratorLowercaseValidation, ltrim as decoratorLtrimSanitizer, mac as decoratorMacValidation, maxDate as decoratorMaxDateValidation, maxLength as decoratorMaxLengthValidation, maxNumber as decoratorMaxNumberValidation, maxTime as decoratorMaxTimeValidation, minDate as decoratorMinDateValidation, minLength as decoratorMinLengthValidation, minNumber as decoratorMinNumberValidation, minTime as decoratorMinTimeValidation, noneOf as decoratorNoneOfValidation, notEmpty as decoratorNotEmptyValidation, numeric as decoratorNumericValidation, odd as decoratorOddValidation, oneOf as decoratorOneOfValidation, password as decoratorPasswordValdiation, pattern as decoratorPatternValidation, port as decoratorPortValidation, prefix as decoratorPrefixSanitizer, primeNumber as decoratorPrimeNumberValidation, range as decoratorRangeValidation, decoratorRegistrationCaller, requiredTrue as decoratorRequiredTrueValidation, required as decoratorRequiredValidation, rtrim as decoratorRtrimSanitizer, sanitize as decoratorSanitizeSanitizer, startsWith as decoratorStartsWithValidation, stripLow as decoratorStripLowSanitizer, suffix as decoratorSuffixSanitizer, toBoolean as decoratorToBooleanSanitizer, toDate as decoratorToDateSanitizer, toInt as decoratorToIntSanitizer, toString as decoratorToStringSanitizer, trim as decoratorTrimSanitizer, upperCase as decoratorUpperCaseValidation, url as decoratorUrlValidation, whitelist as decoratorWhitelistSanitizer, prop, validationForms };
package/dist/index.mjs CHANGED
@@ -4,6 +4,9 @@ const ValidatorNames = {
4
4
  alpha: "alpha",
5
5
  alphaNumeric: "alphaNumeric",
6
6
  ascii: "ascii",
7
+ custom: "custom",
8
+ compare: "compare",
9
+ compose: "compose",
7
10
  contains: "contains",
8
11
  creditCard: "creditCard",
9
12
  cusip: "cusip",
@@ -212,9 +215,9 @@ class Linq {
212
215
  }
213
216
 
214
217
  class ValidatorValueChecker {
215
- static pass(params, config) {
218
+ static pass(params, config, isContinue = false) {
216
219
  if (Linq.execute(config, params))
217
- return RegexValidator.isNotBlank(params.value);
220
+ return isContinue || RegexValidator.isNotBlank(params.value);
218
221
  else
219
222
  return false;
220
223
  }
@@ -244,6 +247,52 @@ function alphaNumericValidator(configModel, control) {
244
247
  return alphaValidation(configModel, control, [RegExRule.alphaNumeric, RegExRule.alphaNumericWithSpace], ValidatorNames.alphaNumeric);
245
248
  }
246
249
 
250
+ function compareValidator(configModel, control) {
251
+ let config = getConfigObject(configModel);
252
+ if (ValidatorValueChecker.pass(control, config)) {
253
+ const compareControlValue = control.current[config.fieldName];
254
+ if (RegexValidator.isNotBlank(compareControlValue)) {
255
+ if (!(compareControlValue === control.value))
256
+ return ValidationMessage.toJson(ValidatorNames.compare, config, [control.value, compareControlValue]);
257
+ }
258
+ }
259
+ return ValidationMessage.null();
260
+ }
261
+
262
+ function composeValidator(configModel, control) {
263
+ let config = getConfigObject(configModel);
264
+ if (ValidatorValueChecker.pass(control, config, true)) {
265
+ if (config.validators) {
266
+ let result = void 0;
267
+ for (let validator of config.validators) {
268
+ result = validator.validator(control);
269
+ if (result)
270
+ break;
271
+ }
272
+ if (result)
273
+ return config.messageKey || config.message ? ValidationMessage.toJson(config.messageKey || ValidatorNames.compose, config, [control.value]) : result;
274
+ }
275
+ }
276
+ return ValidationMessage.null();
277
+ }
278
+
279
+ function customValidator(configModel, control) {
280
+ let config = getConfigObject(configModel);
281
+ if (ValidatorValueChecker.pass(control, config, true)) {
282
+ if (config.validators) {
283
+ let result = void 0;
284
+ for (let validator of config.validators) {
285
+ result = validator(control);
286
+ if (result)
287
+ break;
288
+ }
289
+ if (result)
290
+ return config.messageKey || config.message ? ValidationMessage.toJson(config.messageKey || ValidatorNames.custom, config, [control.value]) : result;
291
+ }
292
+ }
293
+ return ValidationMessage.null();
294
+ }
295
+
247
296
  function containsValidator(configModel, control) {
248
297
  let config = getConfigObject(configModel);
249
298
  if (ValidatorValueChecker.pass(control, config)) {
@@ -1547,6 +1596,9 @@ const ControlValidators = {
1547
1596
  alpha: alphaValidator,
1548
1597
  alphaNumeric: alphaNumericValidator,
1549
1598
  ascii: asciiValidator,
1599
+ compare: compareValidator,
1600
+ compose: composeValidator,
1601
+ custom: customValidator,
1550
1602
  contains: containsValidator,
1551
1603
  creditCard: creditCardValidator,
1552
1604
  cusip: cusipValidator,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nattyjs/validation-decorators",
3
- "version": "0.0.1-beta.30",
3
+ "version": "0.0.1-beta.32",
4
4
  "description": "",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.cjs",
@@ -16,6 +16,6 @@
16
16
  "devDependencies": {
17
17
  "unbuild": "^0.7.4",
18
18
  "@types/node": "20.3.1",
19
- "@nattyjs/types": "0.0.1-beta.30"
19
+ "@nattyjs/types": "0.0.1-beta.32"
20
20
  }
21
21
  }