@nattyjs/validation-decorators 0.0.1-beta.31 → 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 +54 -2
- package/dist/index.d.ts +17 -1
- package/dist/index.mjs +54 -2
- package/package.json +2 -2
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.
|
|
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.
|
|
19
|
+
"@nattyjs/types": "0.0.1-beta.32"
|
|
20
20
|
}
|
|
21
21
|
}
|