@nattyjs/validation-decorators 0.0.1-beta.5 → 0.0.1-beta.51
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 +86 -1
- package/dist/index.d.ts +179 -1
- package/dist/index.mjs +86 -1
- package/package.json +3 -2
package/dist/index.cjs
CHANGED
|
@@ -582,6 +582,16 @@ function patternValidator(configModel, control) {
|
|
|
582
582
|
return ValidationMessage.null();
|
|
583
583
|
}
|
|
584
584
|
|
|
585
|
+
function timeValidator(configModel, control) {
|
|
586
|
+
let config = getConfigObject(configModel);
|
|
587
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
588
|
+
let isValid = config.allowSeconds ? RegexValidator.isValid(control.value, RegExRule.timeWithSeconds) : RegexValidator.isValid(control.value, RegExRule.time);
|
|
589
|
+
if (!isValid)
|
|
590
|
+
return ValidationMessage.toJson(ValidatorNames.time, config, [control.value]);
|
|
591
|
+
}
|
|
592
|
+
return ValidationMessage.null();
|
|
593
|
+
}
|
|
594
|
+
|
|
585
595
|
function urlValidator(configModel, control) {
|
|
586
596
|
return regexValidation(configModel, control, RegExRule.url, ValidatorNames.url);
|
|
587
597
|
}
|
|
@@ -1002,6 +1012,29 @@ function cusipValidator(configModel, control) {
|
|
|
1002
1012
|
return ValidationMessage.null();
|
|
1003
1013
|
}
|
|
1004
1014
|
|
|
1015
|
+
function gridValidator(configModel, control) {
|
|
1016
|
+
let config = getConfigObject(configModel);
|
|
1017
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
1018
|
+
let controlValue = control.value.toUpperCase();
|
|
1019
|
+
var isValid = RegexValidator.isValid(controlValue, RegExRule.grid);
|
|
1020
|
+
if (isValid) {
|
|
1021
|
+
controlValue = controlValue.replace(/\s/g, "").replace(/-/g, "");
|
|
1022
|
+
if ("GRID:" === controlValue.substr(0, 5)) {
|
|
1023
|
+
controlValue = controlValue.substr(5);
|
|
1024
|
+
}
|
|
1025
|
+
let alphaNums = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
1026
|
+
var alphaNumLength = alphaNums.length, length = controlValue.length, check = Math.floor(alphaNumLength / 2);
|
|
1027
|
+
for (var i = 0; i < length; i++) {
|
|
1028
|
+
check = ((check || alphaNumLength) * 2 % (alphaNumLength + 1) + alphaNums.indexOf(controlValue.charAt(i))) % alphaNumLength;
|
|
1029
|
+
}
|
|
1030
|
+
isValid = check === 1;
|
|
1031
|
+
}
|
|
1032
|
+
if (!isValid)
|
|
1033
|
+
return ValidationMessage.toJson(ValidatorNames.grid, config, [control.value]);
|
|
1034
|
+
}
|
|
1035
|
+
return ValidationMessage.null();
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1005
1038
|
function dateValidator(configModel, control) {
|
|
1006
1039
|
return validateDate(control, configModel, ValidatorNames.date);
|
|
1007
1040
|
}
|
|
@@ -1513,7 +1546,59 @@ function prop(config) {
|
|
|
1513
1546
|
}
|
|
1514
1547
|
|
|
1515
1548
|
const ControlValidators = {
|
|
1516
|
-
required: requiredValidator
|
|
1549
|
+
required: requiredValidator,
|
|
1550
|
+
allOf: allOfValidator,
|
|
1551
|
+
alpha: alphaValidator,
|
|
1552
|
+
alphaNumeric: alphaNumericValidator,
|
|
1553
|
+
ascii: asciiValidator,
|
|
1554
|
+
contains: containsValidator,
|
|
1555
|
+
creditCard: creditCardValidator,
|
|
1556
|
+
cusip: cusipValidator,
|
|
1557
|
+
dataUri: dataUriValidator,
|
|
1558
|
+
date: dateValidator,
|
|
1559
|
+
different: differentValidator,
|
|
1560
|
+
digit: digitValidator,
|
|
1561
|
+
email: emailValidator,
|
|
1562
|
+
endsWith: endsWithValidator,
|
|
1563
|
+
even: evenValidator,
|
|
1564
|
+
extension: extensionValidator,
|
|
1565
|
+
factor: factorValidator,
|
|
1566
|
+
greaterThan: greaterThanValidator,
|
|
1567
|
+
greaterThanEqualTo: greaterThanEqualToValidator,
|
|
1568
|
+
grid: gridValidator,
|
|
1569
|
+
hexColor: hexColorValidator,
|
|
1570
|
+
ip: ipValidator,
|
|
1571
|
+
json: jsonValidator,
|
|
1572
|
+
latLong: latLongValidator,
|
|
1573
|
+
lattitude: latitudeValidator,
|
|
1574
|
+
leapYear: leapYearValidator,
|
|
1575
|
+
lessThanEqualTo: lessThanEqualToValidator,
|
|
1576
|
+
lessThan: lessThanValidator,
|
|
1577
|
+
longitude: longitudeValidator,
|
|
1578
|
+
lowercase: lowercaseValidator,
|
|
1579
|
+
mac: macValidator,
|
|
1580
|
+
maxDate: maxDateValidator,
|
|
1581
|
+
maxLength: maxLengthValidator,
|
|
1582
|
+
maxNumber: maxNumberValidator,
|
|
1583
|
+
maxTime: maxTimeValidator,
|
|
1584
|
+
minDate: minDateValidator,
|
|
1585
|
+
minLength: minLengthValidator,
|
|
1586
|
+
minNumber: minNumberValidator,
|
|
1587
|
+
minTime: minTimeValidator,
|
|
1588
|
+
noneOf: noneOfValidator,
|
|
1589
|
+
notEmpty: notEmptyValidator,
|
|
1590
|
+
numeric: numericValidator,
|
|
1591
|
+
odd: oddValidator,
|
|
1592
|
+
oneOf: oneOfValidator,
|
|
1593
|
+
password: passwordValidator,
|
|
1594
|
+
pattern: patternValidator,
|
|
1595
|
+
port: portValidator,
|
|
1596
|
+
primeNumber: primeNumberValidator,
|
|
1597
|
+
range: rangeValidator,
|
|
1598
|
+
startsWith: startsWithValidator,
|
|
1599
|
+
time: timeValidator,
|
|
1600
|
+
uppercase: uppercaseValidator,
|
|
1601
|
+
url: urlValidator
|
|
1517
1602
|
};
|
|
1518
1603
|
|
|
1519
1604
|
exports.ControlValidators = ControlValidators;
|
package/dist/index.d.ts
CHANGED
|
@@ -174,6 +174,9 @@ declare function maxLength(config: NumberConfig): (target: any, propertyKey: str
|
|
|
174
174
|
|
|
175
175
|
declare function maxNumber(config: NumberConfig): (target: any, propertyKey: string, parameterIndex?: any) => void;
|
|
176
176
|
|
|
177
|
+
interface TimeConfig extends BaseValidatorConfig {
|
|
178
|
+
allowSeconds?: boolean;
|
|
179
|
+
}
|
|
177
180
|
interface TimeRelationConfig extends BaseValidatorConfig {
|
|
178
181
|
value?: string;
|
|
179
182
|
fieldName?: string;
|
|
@@ -377,12 +380,187 @@ interface ValidatorParams {
|
|
|
377
380
|
value: any;
|
|
378
381
|
}
|
|
379
382
|
|
|
383
|
+
declare function alphaValidator(configModel: AlphaConfig, params: ValidatorParams): ValidatorFn;
|
|
384
|
+
|
|
385
|
+
declare function alphaNumericValidator(configModel: AlphaConfig, control: ValidatorParams): ValidatorFn;
|
|
386
|
+
|
|
387
|
+
declare function containsValidator(configModel: DefaultConfig, control: ValidatorParams): ValidatorFn;
|
|
388
|
+
|
|
389
|
+
declare function creditCardValidator(configModel: CreditCardConfig, control: ValidatorParams): ValidatorFn;
|
|
390
|
+
|
|
391
|
+
declare function digitValidator(configModel: DigitConfig, control: ValidatorParams): ValidatorFn;
|
|
392
|
+
|
|
393
|
+
declare function emailValidator(configModel: EmailConfig, control: ValidatorParams): ValidatorFn;
|
|
394
|
+
|
|
395
|
+
interface HexColorConfig extends BaseValidatorConfig {
|
|
396
|
+
isStrict?: boolean;
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
declare function hexColorValidator(configModel: HexColorConfig, control: ValidatorParams): ValidatorFn;
|
|
400
|
+
|
|
401
|
+
declare function lowercaseValidator(configModel: MessageConfig, control: ValidatorParams): ValidatorFn;
|
|
402
|
+
|
|
403
|
+
declare function maxDateValidator(configModel: MaxDateConfig, control: ValidatorParams): ValidatorFn;
|
|
404
|
+
|
|
405
|
+
declare function maxLengthValidator(configModel: NumberConfig, control: ValidatorParams): ValidatorFn;
|
|
406
|
+
|
|
407
|
+
declare function maxNumberValidator(configModel: NumberConfig, control: ValidatorParams): ValidatorFn;
|
|
408
|
+
|
|
409
|
+
declare function minDateValidator(configModel: MinDateConfig, control: ValidatorParams): ValidatorFn;
|
|
410
|
+
|
|
411
|
+
declare function minLengthValidator(configModel: NumberConfig, control: ValidatorParams): ValidatorFn;
|
|
412
|
+
|
|
413
|
+
declare function minNumberValidator(configModel: NumberConfig, control: ValidatorParams): ValidatorFn;
|
|
414
|
+
|
|
415
|
+
declare function passwordValidator(configModel: PasswordConfig, control: ValidatorParams): ValidatorFn;
|
|
416
|
+
|
|
417
|
+
declare function rangeValidator(configModel: RangeConfig, control: ValidatorParams): ValidatorFn;
|
|
418
|
+
|
|
419
|
+
declare function uppercaseValidator(configModel?: MessageConfig, control?: ValidatorParams): ValidatorFn;
|
|
420
|
+
|
|
380
421
|
declare function requiredValidator(config: RequiredConfig, params: ValidatorParams): ValidatorFn;
|
|
381
422
|
|
|
423
|
+
declare function patternValidator(configModel: PatternConfig, control: ValidatorParams): ValidatorFn;
|
|
424
|
+
|
|
425
|
+
declare function timeValidator(configModel: TimeConfig, control: ValidatorParams): ValidatorFn;
|
|
426
|
+
|
|
427
|
+
declare function urlValidator(configModel: DefaultConfig, control: ValidatorParams): ValidatorFn;
|
|
428
|
+
|
|
429
|
+
declare function jsonValidator(configModel: DefaultConfig, control: ValidatorParams): ValidatorFn;
|
|
430
|
+
|
|
431
|
+
declare function greaterThanValidator(configModel: RelationalOperatorConfig, control: ValidatorParams): ValidatorFn;
|
|
432
|
+
|
|
433
|
+
declare function greaterThanEqualToValidator(configModel: RelationalOperatorConfig, control: ValidatorParams): ValidatorFn;
|
|
434
|
+
|
|
435
|
+
declare function lessThanEqualToValidator(configModel: RelationalOperatorConfig, control: ValidatorParams): ValidatorFn;
|
|
436
|
+
|
|
437
|
+
declare function lessThanValidator(configModel: RelationalOperatorConfig, control: ValidatorParams): ValidatorFn;
|
|
438
|
+
|
|
439
|
+
declare function differentValidator(configModel: DifferentConfig, control: ValidatorParams): ValidatorFn;
|
|
440
|
+
|
|
441
|
+
declare function numericValidator(configModel: NumericConfig, control: ValidatorParams): ValidatorFn;
|
|
442
|
+
|
|
443
|
+
declare function evenValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
444
|
+
|
|
445
|
+
declare function oddValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
446
|
+
|
|
447
|
+
declare function factorValidator(configModel: FactorConfig, control: ValidatorParams): ValidatorFn;
|
|
448
|
+
|
|
449
|
+
declare function leapYearValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
450
|
+
|
|
451
|
+
declare function allOfValidator(configModel: ArrayConfig, params: ValidatorParams): ValidatorFn;
|
|
452
|
+
|
|
453
|
+
declare function oneOfValidator(configModel: ArrayConfig, control: ValidatorParams): ValidatorFn;
|
|
454
|
+
|
|
455
|
+
declare function noneOfValidator(configModel: ArrayConfig, control: ValidatorParams): ValidatorFn;
|
|
456
|
+
|
|
457
|
+
declare function macValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
458
|
+
|
|
459
|
+
declare function asciiValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
460
|
+
|
|
461
|
+
declare function dataUriValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
462
|
+
|
|
463
|
+
declare function portValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
464
|
+
|
|
465
|
+
declare function latLongValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
466
|
+
|
|
467
|
+
declare function extensionValidator(configModel: ExtensionConfig, control: ValidatorParams): ValidatorFn;
|
|
468
|
+
|
|
469
|
+
declare function endsWithValidator(configModel: DefaultConfig, control: ValidatorParams): ValidatorFn;
|
|
470
|
+
|
|
471
|
+
declare function startsWithValidator(configModel: DefaultConfig, control: ValidatorParams): ValidatorFn;
|
|
472
|
+
|
|
473
|
+
declare function primeNumberValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
474
|
+
|
|
475
|
+
declare function latitudeValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
476
|
+
|
|
477
|
+
declare function longitudeValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
478
|
+
|
|
479
|
+
declare function notEmptyValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
480
|
+
|
|
481
|
+
declare function ipValidator(configModel: IpConfig, control: ValidatorParams): ValidatorFn;
|
|
482
|
+
|
|
483
|
+
declare function cusipValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
484
|
+
|
|
485
|
+
declare function gridValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
486
|
+
|
|
487
|
+
declare function dateValidator(configModel: BaseValidatorConfig, control: ValidatorParams): ValidatorFn;
|
|
488
|
+
|
|
489
|
+
declare function minTimeValidator(configModel: MinTimeConfig, control: ValidatorParams): ValidatorFn;
|
|
490
|
+
|
|
491
|
+
declare function maxTimeValidator(configModel: MaxTimeConfig, control: ValidatorParams): ValidatorFn;
|
|
492
|
+
|
|
382
493
|
declare const ControlValidators: {
|
|
383
494
|
required: typeof requiredValidator;
|
|
495
|
+
allOf: typeof allOfValidator;
|
|
496
|
+
alpha: typeof alphaValidator;
|
|
497
|
+
alphaNumeric: typeof alphaNumericValidator;
|
|
498
|
+
ascii: typeof asciiValidator;
|
|
499
|
+
contains: typeof containsValidator;
|
|
500
|
+
creditCard: typeof creditCardValidator;
|
|
501
|
+
cusip: typeof cusipValidator;
|
|
502
|
+
dataUri: typeof dataUriValidator;
|
|
503
|
+
date: typeof dateValidator;
|
|
504
|
+
different: typeof differentValidator;
|
|
505
|
+
digit: typeof digitValidator;
|
|
506
|
+
email: typeof emailValidator;
|
|
507
|
+
endsWith: typeof endsWithValidator;
|
|
508
|
+
even: typeof evenValidator;
|
|
509
|
+
extension: typeof extensionValidator;
|
|
510
|
+
factor: typeof factorValidator;
|
|
511
|
+
greaterThan: typeof greaterThanValidator;
|
|
512
|
+
greaterThanEqualTo: typeof greaterThanEqualToValidator;
|
|
513
|
+
grid: typeof gridValidator;
|
|
514
|
+
hexColor: typeof hexColorValidator;
|
|
515
|
+
ip: typeof ipValidator;
|
|
516
|
+
json: typeof jsonValidator;
|
|
517
|
+
latLong: typeof latLongValidator;
|
|
518
|
+
lattitude: typeof latitudeValidator;
|
|
519
|
+
leapYear: typeof leapYearValidator;
|
|
520
|
+
lessThanEqualTo: typeof lessThanEqualToValidator;
|
|
521
|
+
lessThan: typeof lessThanValidator;
|
|
522
|
+
longitude: typeof longitudeValidator;
|
|
523
|
+
lowercase: typeof lowercaseValidator;
|
|
524
|
+
mac: typeof macValidator;
|
|
525
|
+
maxDate: typeof maxDateValidator;
|
|
526
|
+
maxLength: typeof maxLengthValidator;
|
|
527
|
+
maxNumber: typeof maxNumberValidator;
|
|
528
|
+
maxTime: typeof maxTimeValidator;
|
|
529
|
+
minDate: typeof minDateValidator;
|
|
530
|
+
minLength: typeof minLengthValidator;
|
|
531
|
+
minNumber: typeof minNumberValidator;
|
|
532
|
+
minTime: typeof minTimeValidator;
|
|
533
|
+
noneOf: typeof noneOfValidator;
|
|
534
|
+
notEmpty: typeof notEmptyValidator;
|
|
535
|
+
numeric: typeof numericValidator;
|
|
536
|
+
odd: typeof oddValidator;
|
|
537
|
+
oneOf: typeof oneOfValidator;
|
|
538
|
+
password: typeof passwordValidator;
|
|
539
|
+
pattern: typeof patternValidator;
|
|
540
|
+
port: typeof portValidator;
|
|
541
|
+
primeNumber: typeof primeNumberValidator;
|
|
542
|
+
range: typeof rangeValidator;
|
|
543
|
+
startsWith: typeof startsWithValidator;
|
|
544
|
+
time: typeof timeValidator;
|
|
545
|
+
uppercase: typeof uppercaseValidator;
|
|
546
|
+
url: typeof urlValidator;
|
|
384
547
|
};
|
|
385
548
|
|
|
549
|
+
interface FileConfig extends BaseValidatorConfig {
|
|
550
|
+
maxFiles?: number;
|
|
551
|
+
minFiles?: number;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
interface IBANConfig extends BaseValidatorConfig {
|
|
555
|
+
countryCode?: string;
|
|
556
|
+
}
|
|
557
|
+
|
|
558
|
+
interface MaskConfig extends BaseValidatorConfig {
|
|
559
|
+
mask: string;
|
|
560
|
+
minLength?: number;
|
|
561
|
+
valueWithMask?: boolean;
|
|
562
|
+
}
|
|
563
|
+
|
|
386
564
|
interface FormConfig {
|
|
387
565
|
errorMessage?: ErrorMessage;
|
|
388
566
|
dateConfig?: {
|
|
@@ -401,4 +579,4 @@ declare const validationForms: {
|
|
|
401
579
|
configure(config: FormConfig): void;
|
|
402
580
|
};
|
|
403
581
|
|
|
404
|
-
export { ControlValidators, FormConfig, NumericValueType, RequiredConfig, 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 };
|
|
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 };
|
package/dist/index.mjs
CHANGED
|
@@ -578,6 +578,16 @@ function patternValidator(configModel, control) {
|
|
|
578
578
|
return ValidationMessage.null();
|
|
579
579
|
}
|
|
580
580
|
|
|
581
|
+
function timeValidator(configModel, control) {
|
|
582
|
+
let config = getConfigObject(configModel);
|
|
583
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
584
|
+
let isValid = config.allowSeconds ? RegexValidator.isValid(control.value, RegExRule.timeWithSeconds) : RegexValidator.isValid(control.value, RegExRule.time);
|
|
585
|
+
if (!isValid)
|
|
586
|
+
return ValidationMessage.toJson(ValidatorNames.time, config, [control.value]);
|
|
587
|
+
}
|
|
588
|
+
return ValidationMessage.null();
|
|
589
|
+
}
|
|
590
|
+
|
|
581
591
|
function urlValidator(configModel, control) {
|
|
582
592
|
return regexValidation(configModel, control, RegExRule.url, ValidatorNames.url);
|
|
583
593
|
}
|
|
@@ -998,6 +1008,29 @@ function cusipValidator(configModel, control) {
|
|
|
998
1008
|
return ValidationMessage.null();
|
|
999
1009
|
}
|
|
1000
1010
|
|
|
1011
|
+
function gridValidator(configModel, control) {
|
|
1012
|
+
let config = getConfigObject(configModel);
|
|
1013
|
+
if (ValidatorValueChecker.pass(control, config)) {
|
|
1014
|
+
let controlValue = control.value.toUpperCase();
|
|
1015
|
+
var isValid = RegexValidator.isValid(controlValue, RegExRule.grid);
|
|
1016
|
+
if (isValid) {
|
|
1017
|
+
controlValue = controlValue.replace(/\s/g, "").replace(/-/g, "");
|
|
1018
|
+
if ("GRID:" === controlValue.substr(0, 5)) {
|
|
1019
|
+
controlValue = controlValue.substr(5);
|
|
1020
|
+
}
|
|
1021
|
+
let alphaNums = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
|
1022
|
+
var alphaNumLength = alphaNums.length, length = controlValue.length, check = Math.floor(alphaNumLength / 2);
|
|
1023
|
+
for (var i = 0; i < length; i++) {
|
|
1024
|
+
check = ((check || alphaNumLength) * 2 % (alphaNumLength + 1) + alphaNums.indexOf(controlValue.charAt(i))) % alphaNumLength;
|
|
1025
|
+
}
|
|
1026
|
+
isValid = check === 1;
|
|
1027
|
+
}
|
|
1028
|
+
if (!isValid)
|
|
1029
|
+
return ValidationMessage.toJson(ValidatorNames.grid, config, [control.value]);
|
|
1030
|
+
}
|
|
1031
|
+
return ValidationMessage.null();
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1001
1034
|
function dateValidator(configModel, control) {
|
|
1002
1035
|
return validateDate(control, configModel, ValidatorNames.date);
|
|
1003
1036
|
}
|
|
@@ -1509,7 +1542,59 @@ function prop(config) {
|
|
|
1509
1542
|
}
|
|
1510
1543
|
|
|
1511
1544
|
const ControlValidators = {
|
|
1512
|
-
required: requiredValidator
|
|
1545
|
+
required: requiredValidator,
|
|
1546
|
+
allOf: allOfValidator,
|
|
1547
|
+
alpha: alphaValidator,
|
|
1548
|
+
alphaNumeric: alphaNumericValidator,
|
|
1549
|
+
ascii: asciiValidator,
|
|
1550
|
+
contains: containsValidator,
|
|
1551
|
+
creditCard: creditCardValidator,
|
|
1552
|
+
cusip: cusipValidator,
|
|
1553
|
+
dataUri: dataUriValidator,
|
|
1554
|
+
date: dateValidator,
|
|
1555
|
+
different: differentValidator,
|
|
1556
|
+
digit: digitValidator,
|
|
1557
|
+
email: emailValidator,
|
|
1558
|
+
endsWith: endsWithValidator,
|
|
1559
|
+
even: evenValidator,
|
|
1560
|
+
extension: extensionValidator,
|
|
1561
|
+
factor: factorValidator,
|
|
1562
|
+
greaterThan: greaterThanValidator,
|
|
1563
|
+
greaterThanEqualTo: greaterThanEqualToValidator,
|
|
1564
|
+
grid: gridValidator,
|
|
1565
|
+
hexColor: hexColorValidator,
|
|
1566
|
+
ip: ipValidator,
|
|
1567
|
+
json: jsonValidator,
|
|
1568
|
+
latLong: latLongValidator,
|
|
1569
|
+
lattitude: latitudeValidator,
|
|
1570
|
+
leapYear: leapYearValidator,
|
|
1571
|
+
lessThanEqualTo: lessThanEqualToValidator,
|
|
1572
|
+
lessThan: lessThanValidator,
|
|
1573
|
+
longitude: longitudeValidator,
|
|
1574
|
+
lowercase: lowercaseValidator,
|
|
1575
|
+
mac: macValidator,
|
|
1576
|
+
maxDate: maxDateValidator,
|
|
1577
|
+
maxLength: maxLengthValidator,
|
|
1578
|
+
maxNumber: maxNumberValidator,
|
|
1579
|
+
maxTime: maxTimeValidator,
|
|
1580
|
+
minDate: minDateValidator,
|
|
1581
|
+
minLength: minLengthValidator,
|
|
1582
|
+
minNumber: minNumberValidator,
|
|
1583
|
+
minTime: minTimeValidator,
|
|
1584
|
+
noneOf: noneOfValidator,
|
|
1585
|
+
notEmpty: notEmptyValidator,
|
|
1586
|
+
numeric: numericValidator,
|
|
1587
|
+
odd: oddValidator,
|
|
1588
|
+
oneOf: oneOfValidator,
|
|
1589
|
+
password: passwordValidator,
|
|
1590
|
+
pattern: patternValidator,
|
|
1591
|
+
port: portValidator,
|
|
1592
|
+
primeNumber: primeNumberValidator,
|
|
1593
|
+
range: rangeValidator,
|
|
1594
|
+
startsWith: startsWithValidator,
|
|
1595
|
+
time: timeValidator,
|
|
1596
|
+
uppercase: uppercaseValidator,
|
|
1597
|
+
url: urlValidator
|
|
1513
1598
|
};
|
|
1514
1599
|
|
|
1515
1600
|
export { ControlValidators, NumericValueType, 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/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.51",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "./dist/index.mjs",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"unbuild": "^0.7.4",
|
|
18
|
-
"@types/node": "20.3.1"
|
|
18
|
+
"@types/node": "20.3.1",
|
|
19
|
+
"@nattyjs/types": "0.0.1-beta.51"
|
|
19
20
|
}
|
|
20
21
|
}
|