@fkui/i18next-translate 5.44.0 → 5.45.1
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/cjs/index.js +193 -95
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +193 -95
- package/dist/esm/index.js.map +1 -1
- package/dist/types/tsdoc-metadata.json +1 -1
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -80,6 +80,7 @@ const getPath = (object, path) => {
|
|
|
80
80
|
k
|
|
81
81
|
} = getLastOfPath(object, path);
|
|
82
82
|
if (!obj) return undefined;
|
|
83
|
+
if (!Object.prototype.hasOwnProperty.call(obj, k)) return undefined;
|
|
83
84
|
return obj[k];
|
|
84
85
|
};
|
|
85
86
|
const getPathWithDefaults = (data, defaultData, key) => {
|
|
@@ -160,7 +161,10 @@ const looksLikeObjectPath = (key, nsSeparator, keySeparator) => {
|
|
|
160
161
|
const deepFind = function (obj, path) {
|
|
161
162
|
let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';
|
|
162
163
|
if (!obj) return undefined;
|
|
163
|
-
if (obj[path])
|
|
164
|
+
if (obj[path]) {
|
|
165
|
+
if (!Object.prototype.hasOwnProperty.call(obj, path)) return undefined;
|
|
166
|
+
return obj[path];
|
|
167
|
+
}
|
|
164
168
|
const tokens = path.split(keySeparator);
|
|
165
169
|
let current = obj;
|
|
166
170
|
for (let i = 0; i < tokens.length;) {
|
|
@@ -473,7 +477,7 @@ class Translator extends EventEmitter {
|
|
|
473
477
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
474
478
|
interpolation: {}
|
|
475
479
|
};
|
|
476
|
-
if (key
|
|
480
|
+
if (key == null) {
|
|
477
481
|
return false;
|
|
478
482
|
}
|
|
479
483
|
const resolved = this.resolve(key, options);
|
|
@@ -511,7 +515,7 @@ class Translator extends EventEmitter {
|
|
|
511
515
|
...options
|
|
512
516
|
};
|
|
513
517
|
if (!options) options = {};
|
|
514
|
-
if (keys
|
|
518
|
+
if (keys == null) return '';
|
|
515
519
|
if (!Array.isArray(keys)) keys = [String(keys)];
|
|
516
520
|
const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;
|
|
517
521
|
const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;
|
|
@@ -727,7 +731,7 @@ class Translator extends EventEmitter {
|
|
|
727
731
|
}
|
|
728
732
|
const postProcess = options.postProcess || this.options.postProcess;
|
|
729
733
|
const postProcessorNames = isString$1(postProcess) ? [postProcess] : postProcess;
|
|
730
|
-
if (res
|
|
734
|
+
if (res != null && postProcessorNames?.length && options.applyPostProcessor !== false) {
|
|
731
735
|
res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {
|
|
732
736
|
i18nResolved: {
|
|
733
737
|
...resolved,
|
|
@@ -1730,7 +1734,7 @@ class I18n extends EventEmitter {
|
|
|
1730
1734
|
callback = options;
|
|
1731
1735
|
options = {};
|
|
1732
1736
|
}
|
|
1733
|
-
if (
|
|
1737
|
+
if (options.defaultNS == null && options.ns) {
|
|
1734
1738
|
if (isString$1(options.ns)) {
|
|
1735
1739
|
options.defaultNS = options.ns;
|
|
1736
1740
|
} else if (options.ns.indexOf('translation') < 0) {
|
|
@@ -4413,7 +4417,7 @@ const formatter = {
|
|
|
4413
4417
|
class FDate {
|
|
4414
4418
|
value;
|
|
4415
4419
|
constructor(value) {
|
|
4416
|
-
this.value = dayjs(value, ISO8601_YYYY_MM_DD, true);
|
|
4420
|
+
this.value = dayjs(value, ISO8601_YYYY_MM_DD, true).startOf("day");
|
|
4417
4421
|
}
|
|
4418
4422
|
/**
|
|
4419
4423
|
* Create {@link FDate} with an invalid state.
|
|
@@ -4717,7 +4721,7 @@ class FDate {
|
|
|
4717
4721
|
if (typeof rhs === "string") {
|
|
4718
4722
|
rhs = FDate.fromIso(rhs);
|
|
4719
4723
|
}
|
|
4720
|
-
return this.value.isBefore(rhs.value);
|
|
4724
|
+
return this.value.isBefore(rhs.value, "day");
|
|
4721
4725
|
}
|
|
4722
4726
|
/**
|
|
4723
4727
|
* Returns true if this date is after given date.
|
|
@@ -4728,7 +4732,7 @@ class FDate {
|
|
|
4728
4732
|
if (typeof rhs === "string") {
|
|
4729
4733
|
rhs = FDate.fromIso(rhs);
|
|
4730
4734
|
}
|
|
4731
|
-
return this.value.isAfter(rhs.value);
|
|
4735
|
+
return this.value.isAfter(rhs.value, "day");
|
|
4732
4736
|
}
|
|
4733
4737
|
/**
|
|
4734
4738
|
* Compares two {@link FDate} objects. Returns and integer indicating whenever
|
|
@@ -4767,10 +4771,10 @@ class FDate {
|
|
|
4767
4771
|
return -1;
|
|
4768
4772
|
}
|
|
4769
4773
|
}
|
|
4770
|
-
if (a.
|
|
4774
|
+
if (a.equals(b)) {
|
|
4771
4775
|
return 0;
|
|
4772
4776
|
}
|
|
4773
|
-
else if (a.
|
|
4777
|
+
else if (a.isBefore(b)) {
|
|
4774
4778
|
return -1;
|
|
4775
4779
|
}
|
|
4776
4780
|
else {
|
|
@@ -4813,6 +4817,26 @@ class FDate {
|
|
|
4813
4817
|
}
|
|
4814
4818
|
}
|
|
4815
4819
|
|
|
4820
|
+
/**
|
|
4821
|
+
* @public
|
|
4822
|
+
*/
|
|
4823
|
+
function parseDate(value) {
|
|
4824
|
+
if (isEmpty(value)) {
|
|
4825
|
+
return undefined;
|
|
4826
|
+
}
|
|
4827
|
+
const normalized = normalizeDateFormat(value);
|
|
4828
|
+
if (!normalized) {
|
|
4829
|
+
return undefined;
|
|
4830
|
+
}
|
|
4831
|
+
const date = FDate.fromIso(normalized);
|
|
4832
|
+
if (date.isValid()) {
|
|
4833
|
+
return date.toString();
|
|
4834
|
+
}
|
|
4835
|
+
else {
|
|
4836
|
+
return undefined;
|
|
4837
|
+
}
|
|
4838
|
+
}
|
|
4839
|
+
|
|
4816
4840
|
/**
|
|
4817
4841
|
* Strips all whitespace from the text (not only leading and trailing)
|
|
4818
4842
|
*
|
|
@@ -4939,6 +4963,18 @@ function parsePersonnummerLuhn(value) {
|
|
|
4939
4963
|
}
|
|
4940
4964
|
return parsed;
|
|
4941
4965
|
}
|
|
4966
|
+
/**
|
|
4967
|
+
* Formats personnummer to a 8-digit date.
|
|
4968
|
+
*
|
|
4969
|
+
* @public
|
|
4970
|
+
*/
|
|
4971
|
+
function formatPersonnummerToDate(value) {
|
|
4972
|
+
const datePart = parseDate(parsePersonnummer(value)?.slice(0, 8) || "");
|
|
4973
|
+
if (!datePart) {
|
|
4974
|
+
return undefined;
|
|
4975
|
+
}
|
|
4976
|
+
return FDate.fromIso(datePart);
|
|
4977
|
+
}
|
|
4942
4978
|
|
|
4943
4979
|
const PLUSGIRO_REGEXP = /^\d{1,7}[-]?\d{1}$/;
|
|
4944
4980
|
function hyphenShouldBeAdded(value) {
|
|
@@ -5106,16 +5142,16 @@ function getErrorMessages() {
|
|
|
5106
5142
|
return ValidationErrorMessageBuilder.create()
|
|
5107
5143
|
.map("bankAccountNumber", "Kontonumret är inte rätt ifyllt. Kolla att det stämmer.")
|
|
5108
5144
|
.mapCombined("required", "bankAccountNumber", "Fyll i ett kontonummer.")
|
|
5109
|
-
.map("bankgiro", "
|
|
5145
|
+
.map("bankgiro", "Fyll i bankgironumret med sju eller åtta siffror och bindestreck.")
|
|
5110
5146
|
.mapCombined("required", "bankgiro", "Fyll i bankgironumret.")
|
|
5111
5147
|
.mapCombined("maxLength", "bankgiro", "Bankgironumret kan inte ha mer än 9 tecken.")
|
|
5112
5148
|
.map("clearingNumber", "Clearingnumret är inte rätt ifyllt. Kolla att det stämmer.")
|
|
5113
5149
|
.mapCombined("required", "clearingNumber", "Fyll i ett clearingnummer.")
|
|
5114
5150
|
.map("currency", "Fyll i ett belopp.")
|
|
5115
5151
|
.mapCombined("required", "currency", "Fyll i ett belopp.")
|
|
5116
|
-
.map("date", "Du har
|
|
5152
|
+
.map("date", "Du har fyllt i ett felaktigt datum.")
|
|
5117
5153
|
.mapCombined("required", "date", "Välj ett datum.")
|
|
5118
|
-
.map("dateFormat", "
|
|
5154
|
+
.map("dateFormat", "Fyll i datumet med åtta siffror.")
|
|
5119
5155
|
.map("decimal", "Fyll i ett värde med rätt antal decimaler.")
|
|
5120
5156
|
.map("email", "Mejladressen är inte korrekt ifylld.")
|
|
5121
5157
|
.mapCombined("required", "email", "Fyll i en mejladress.")
|
|
@@ -5142,9 +5178,9 @@ function getErrorMessages() {
|
|
|
5142
5178
|
.mapCombined("required", "percent", "Fyll i en siffra.")
|
|
5143
5179
|
.mapCombined("minValue", "percent", "Fyll i en högre siffra.")
|
|
5144
5180
|
.mapCombined("maxValue", "percent", "Fyll i en lägre siffra.")
|
|
5145
|
-
.map("personnummerFormat", "
|
|
5146
|
-
.mapCombined("required", "personnummerFormat", "
|
|
5147
|
-
.mapCombined("maxLength", "personnummerFormat", "
|
|
5181
|
+
.map("personnummerFormat", "Fyll i personnumret med 10 siffror.")
|
|
5182
|
+
.mapCombined("required", "personnummerFormat", "Fyll i personnumret med 10 siffror.")
|
|
5183
|
+
.mapCombined("maxLength", "personnummerFormat", "Fyll i personnumret med 10 siffror.")
|
|
5148
5184
|
.map("personnummerLuhn", "Kolla att personnumret stämmer.")
|
|
5149
5185
|
.map("postalCode", "Fyll i postnumret med fem siffror.")
|
|
5150
5186
|
.mapCombined("required", "postalCode", "Fyll i ett postnummer.")
|
|
@@ -5152,7 +5188,7 @@ function getErrorMessages() {
|
|
|
5152
5188
|
.map("phoneNumber", "Telefonnumret är inte rätt ifyllt.")
|
|
5153
5189
|
.mapCombined("required", "phoneNumber", "Fyll i ett telefonnummer.")
|
|
5154
5190
|
.mapCombined("matches", "phoneNumber", "Kolla att telefonnumret stämmer.")
|
|
5155
|
-
.map("plusgiro", "
|
|
5191
|
+
.map("plusgiro", "Fyll i plusgironumret med siffror och bindestreck.")
|
|
5156
5192
|
.mapCombined("required", "plusgiro", "Fyll i plusgironumret.")
|
|
5157
5193
|
.mapCombined("maxLength", "plusgiro", "Plusgironumret kan inte ha mer än 11 tecken.")
|
|
5158
5194
|
.map("matches", "Fälten stämmer inte överens.")
|
|
@@ -5163,6 +5199,7 @@ function getErrorMessages() {
|
|
|
5163
5199
|
.map("invalidDates", "Du kan inte välja det här datumet.")
|
|
5164
5200
|
.map("invalidWeekdays", "Du kan inte välja det här datumet.")
|
|
5165
5201
|
.map("whitelist", 'Fältet innehåller otillåtna tecken. Exempel på ogiltiga tecken är /, % och ".')
|
|
5202
|
+
.map("allowList", "Välj ett av alternativen i listan.")
|
|
5166
5203
|
.build();
|
|
5167
5204
|
}
|
|
5168
5205
|
|
|
@@ -5815,6 +5852,21 @@ class ValidationServiceImpl {
|
|
|
5815
5852
|
*/
|
|
5816
5853
|
const ValidationService = new ValidationServiceImpl();
|
|
5817
5854
|
|
|
5855
|
+
/**
|
|
5856
|
+
* @public
|
|
5857
|
+
*/
|
|
5858
|
+
const allowListValidator = {
|
|
5859
|
+
name: "allowList",
|
|
5860
|
+
validation(value, element, config) {
|
|
5861
|
+
if (isEmpty(value) ||
|
|
5862
|
+
config.list === undefined ||
|
|
5863
|
+
config.list.length === 0) {
|
|
5864
|
+
return true;
|
|
5865
|
+
}
|
|
5866
|
+
return config.list.includes(value);
|
|
5867
|
+
},
|
|
5868
|
+
};
|
|
5869
|
+
|
|
5818
5870
|
const bankAccountNumberValidator = {
|
|
5819
5871
|
name: "bankAccountNumber",
|
|
5820
5872
|
validation(value) {
|
|
@@ -5829,6 +5881,26 @@ const bankgiroValidator = {
|
|
|
5829
5881
|
},
|
|
5830
5882
|
};
|
|
5831
5883
|
|
|
5884
|
+
function toArray(value) {
|
|
5885
|
+
if (Array.isArray(value)) {
|
|
5886
|
+
return value;
|
|
5887
|
+
}
|
|
5888
|
+
else {
|
|
5889
|
+
return [value];
|
|
5890
|
+
}
|
|
5891
|
+
}
|
|
5892
|
+
const blacklistValidator = {
|
|
5893
|
+
name: "blacklist",
|
|
5894
|
+
validation(value, _element, config) {
|
|
5895
|
+
if (!config.values) {
|
|
5896
|
+
throw new Error("config.exclude must have values");
|
|
5897
|
+
}
|
|
5898
|
+
const values = toArray(config.values);
|
|
5899
|
+
const found = values.some((it) => String(it) === value);
|
|
5900
|
+
return !found;
|
|
5901
|
+
},
|
|
5902
|
+
};
|
|
5903
|
+
|
|
5832
5904
|
const clearingNumberValidator = {
|
|
5833
5905
|
name: "clearingNumber",
|
|
5834
5906
|
validation(value) {
|
|
@@ -5836,6 +5908,13 @@ const clearingNumberValidator = {
|
|
|
5836
5908
|
},
|
|
5837
5909
|
};
|
|
5838
5910
|
|
|
5911
|
+
const currencyValidator = {
|
|
5912
|
+
name: "currency",
|
|
5913
|
+
validation(value) {
|
|
5914
|
+
return isEmpty(value) || isSet(parseNumber(value));
|
|
5915
|
+
},
|
|
5916
|
+
};
|
|
5917
|
+
|
|
5839
5918
|
const dateValidator = {
|
|
5840
5919
|
name: "date",
|
|
5841
5920
|
validation(value) {
|
|
@@ -5889,26 +5968,6 @@ const decimalValidator = {
|
|
|
5889
5968
|
},
|
|
5890
5969
|
};
|
|
5891
5970
|
|
|
5892
|
-
function toArray(value) {
|
|
5893
|
-
if (Array.isArray(value)) {
|
|
5894
|
-
return value;
|
|
5895
|
-
}
|
|
5896
|
-
else {
|
|
5897
|
-
return [value];
|
|
5898
|
-
}
|
|
5899
|
-
}
|
|
5900
|
-
const blacklistValidator = {
|
|
5901
|
-
name: "blacklist",
|
|
5902
|
-
validation(value, _element, config) {
|
|
5903
|
-
if (!config.values) {
|
|
5904
|
-
throw new Error("config.exclude must have values");
|
|
5905
|
-
}
|
|
5906
|
-
const values = toArray(config.values);
|
|
5907
|
-
const found = values.some((it) => String(it) === value);
|
|
5908
|
-
return !found;
|
|
5909
|
-
},
|
|
5910
|
-
};
|
|
5911
|
-
|
|
5912
5971
|
const emailValidator = {
|
|
5913
5972
|
name: "email",
|
|
5914
5973
|
validation(value, _element, config) {
|
|
@@ -5918,6 +5977,35 @@ const emailValidator = {
|
|
|
5918
5977
|
},
|
|
5919
5978
|
};
|
|
5920
5979
|
|
|
5980
|
+
/**
|
|
5981
|
+
* @internal
|
|
5982
|
+
*/
|
|
5983
|
+
function numberValidator$1(value, config, name, compare) {
|
|
5984
|
+
if (value === "") {
|
|
5985
|
+
return true;
|
|
5986
|
+
}
|
|
5987
|
+
const limit = config[name];
|
|
5988
|
+
if (!isSet(limit)) {
|
|
5989
|
+
return false;
|
|
5990
|
+
}
|
|
5991
|
+
const limitAsNumber = parseNumber(String(config[name]));
|
|
5992
|
+
if (limitAsNumber === undefined) {
|
|
5993
|
+
throw new Error(`config.${String(name)} must be a number`);
|
|
5994
|
+
}
|
|
5995
|
+
const valueAsNumber = parseNumber(value);
|
|
5996
|
+
if (valueAsNumber === undefined) {
|
|
5997
|
+
return false;
|
|
5998
|
+
}
|
|
5999
|
+
return compare(valueAsNumber, limitAsNumber);
|
|
6000
|
+
}
|
|
6001
|
+
|
|
6002
|
+
const greaterThanValidator = {
|
|
6003
|
+
name: "greaterThan",
|
|
6004
|
+
validation(value, _element, config) {
|
|
6005
|
+
return numberValidator$1(value, config, "limit", (value, limit) => value > limit);
|
|
6006
|
+
},
|
|
6007
|
+
};
|
|
6008
|
+
|
|
5921
6009
|
const NUMBER_REGEXP = /^([-−]?[0-9]+)?$/;
|
|
5922
6010
|
const integerValidator = {
|
|
5923
6011
|
name: "integer",
|
|
@@ -5975,35 +6063,6 @@ const invalidWeekdaysValidator = {
|
|
|
5975
6063
|
},
|
|
5976
6064
|
};
|
|
5977
6065
|
|
|
5978
|
-
/**
|
|
5979
|
-
* @internal
|
|
5980
|
-
*/
|
|
5981
|
-
function numberValidator$1(value, config, name, compare) {
|
|
5982
|
-
if (value === "") {
|
|
5983
|
-
return true;
|
|
5984
|
-
}
|
|
5985
|
-
const limit = config[name];
|
|
5986
|
-
if (!isSet(limit)) {
|
|
5987
|
-
return false;
|
|
5988
|
-
}
|
|
5989
|
-
const limitAsNumber = parseNumber(String(config[name]));
|
|
5990
|
-
if (limitAsNumber === undefined) {
|
|
5991
|
-
throw new Error(`config.${String(name)} must be a number`);
|
|
5992
|
-
}
|
|
5993
|
-
const valueAsNumber = parseNumber(value);
|
|
5994
|
-
if (valueAsNumber === undefined) {
|
|
5995
|
-
return false;
|
|
5996
|
-
}
|
|
5997
|
-
return compare(valueAsNumber, limitAsNumber);
|
|
5998
|
-
}
|
|
5999
|
-
|
|
6000
|
-
const greaterThanValidator = {
|
|
6001
|
-
name: "greaterThan",
|
|
6002
|
-
validation(value, _element, config) {
|
|
6003
|
-
return numberValidator$1(value, config, "limit", (value, limit) => value > limit);
|
|
6004
|
-
},
|
|
6005
|
-
};
|
|
6006
|
-
|
|
6007
6066
|
const lessThanValidator = {
|
|
6008
6067
|
name: "lessThan",
|
|
6009
6068
|
validation(value, _element, config) {
|
|
@@ -6024,6 +6083,22 @@ const matchesValidator = {
|
|
|
6024
6083
|
},
|
|
6025
6084
|
};
|
|
6026
6085
|
|
|
6086
|
+
const maxDateValidator = {
|
|
6087
|
+
name: "maxDate",
|
|
6088
|
+
validation(value, _element, config) {
|
|
6089
|
+
if (isEmpty(value)) {
|
|
6090
|
+
return true;
|
|
6091
|
+
}
|
|
6092
|
+
const normalizedValue = normalizeDateFormat(value);
|
|
6093
|
+
if (!normalizedValue) {
|
|
6094
|
+
return false;
|
|
6095
|
+
}
|
|
6096
|
+
const parsed = FDate.fromIso(normalizedValue);
|
|
6097
|
+
const limit = FDate.fromIso(validLimit(config.limit));
|
|
6098
|
+
return parsed.equals(limit) || parsed.isBefore(limit);
|
|
6099
|
+
},
|
|
6100
|
+
};
|
|
6101
|
+
|
|
6027
6102
|
const maxLengthValidator = {
|
|
6028
6103
|
name: "maxLength",
|
|
6029
6104
|
validation(value, _element, config) {
|
|
@@ -6054,22 +6129,6 @@ const minDateValidator = {
|
|
|
6054
6129
|
},
|
|
6055
6130
|
};
|
|
6056
6131
|
|
|
6057
|
-
const maxDateValidator = {
|
|
6058
|
-
name: "maxDate",
|
|
6059
|
-
validation(value, _element, config) {
|
|
6060
|
-
if (isEmpty(value)) {
|
|
6061
|
-
return true;
|
|
6062
|
-
}
|
|
6063
|
-
const normalizedValue = normalizeDateFormat(value);
|
|
6064
|
-
if (!normalizedValue) {
|
|
6065
|
-
return false;
|
|
6066
|
-
}
|
|
6067
|
-
const parsed = FDate.fromIso(normalizedValue);
|
|
6068
|
-
const limit = FDate.fromIso(validLimit(config.limit));
|
|
6069
|
-
return parsed.equals(limit) || parsed.isBefore(limit);
|
|
6070
|
-
},
|
|
6071
|
-
};
|
|
6072
|
-
|
|
6073
6132
|
const minLengthValidator = {
|
|
6074
6133
|
name: "minLength",
|
|
6075
6134
|
validation(value, _element, config) {
|
|
@@ -6091,13 +6150,6 @@ const numberValidator = {
|
|
|
6091
6150
|
},
|
|
6092
6151
|
};
|
|
6093
6152
|
|
|
6094
|
-
const currencyValidator = {
|
|
6095
|
-
name: "currency",
|
|
6096
|
-
validation(value) {
|
|
6097
|
-
return isEmpty(value) || isSet(parseNumber(value));
|
|
6098
|
-
},
|
|
6099
|
-
};
|
|
6100
|
-
|
|
6101
6153
|
const organisationsnummerValidator = {
|
|
6102
6154
|
name: "organisationsnummer",
|
|
6103
6155
|
validation(value) {
|
|
@@ -6131,6 +6183,48 @@ const personnummerLuhnValidator = {
|
|
|
6131
6183
|
},
|
|
6132
6184
|
};
|
|
6133
6185
|
|
|
6186
|
+
const personnummerNotSame = {
|
|
6187
|
+
name: "personnummerNotSame",
|
|
6188
|
+
validation(value, _element, config) {
|
|
6189
|
+
const valuePnr = parsePersonnummer(String(value));
|
|
6190
|
+
if (!valuePnr) {
|
|
6191
|
+
return true;
|
|
6192
|
+
}
|
|
6193
|
+
const otherFieldPnr = parsePersonnummer(String(config.otherField));
|
|
6194
|
+
if (!otherFieldPnr) {
|
|
6195
|
+
return true;
|
|
6196
|
+
}
|
|
6197
|
+
if (valuePnr === otherFieldPnr) {
|
|
6198
|
+
return false;
|
|
6199
|
+
}
|
|
6200
|
+
return true;
|
|
6201
|
+
},
|
|
6202
|
+
};
|
|
6203
|
+
|
|
6204
|
+
const personnummerOlder = {
|
|
6205
|
+
name: "personnummerOlder",
|
|
6206
|
+
validation(value, _element, config) {
|
|
6207
|
+
const valueAsDate = formatPersonnummerToDate(value);
|
|
6208
|
+
const otherAsDate = formatPersonnummerToDate(String(config.otherField));
|
|
6209
|
+
if (!valueAsDate || !otherAsDate) {
|
|
6210
|
+
return true;
|
|
6211
|
+
}
|
|
6212
|
+
return FDate.compare(valueAsDate, otherAsDate) !== 1;
|
|
6213
|
+
},
|
|
6214
|
+
};
|
|
6215
|
+
|
|
6216
|
+
const personnummerYounger = {
|
|
6217
|
+
name: "personnummerYounger",
|
|
6218
|
+
validation(value, _element, config) {
|
|
6219
|
+
const valueAsDate = formatPersonnummerToDate(value);
|
|
6220
|
+
const otherAsDate = formatPersonnummerToDate(String(config.otherField));
|
|
6221
|
+
if (!valueAsDate || !otherAsDate) {
|
|
6222
|
+
return true;
|
|
6223
|
+
}
|
|
6224
|
+
return FDate.compare(valueAsDate, otherAsDate) !== -1;
|
|
6225
|
+
},
|
|
6226
|
+
};
|
|
6227
|
+
|
|
6134
6228
|
const PHONE_NUMBER_REGEXP = /^(\+?[-_/() ]*(\d[-_/() ]*?){3,17})$/;
|
|
6135
6229
|
const phoneNumberValidator = {
|
|
6136
6230
|
name: "phoneNumber",
|
|
@@ -6197,32 +6291,36 @@ const whitelistValidator = {
|
|
|
6197
6291
|
},
|
|
6198
6292
|
};
|
|
6199
6293
|
|
|
6294
|
+
ValidationService.registerValidator(allowListValidator);
|
|
6200
6295
|
ValidationService.registerValidator(bankAccountNumberValidator);
|
|
6201
6296
|
ValidationService.registerValidator(bankgiroValidator);
|
|
6297
|
+
ValidationService.registerValidator(blacklistValidator);
|
|
6202
6298
|
ValidationService.registerValidator(clearingNumberValidator);
|
|
6299
|
+
ValidationService.registerValidator(currencyValidator);
|
|
6203
6300
|
ValidationService.registerValidator(dateFormatValidator);
|
|
6204
6301
|
ValidationService.registerValidator(dateValidator);
|
|
6205
6302
|
ValidationService.registerValidator(decimalValidator);
|
|
6206
|
-
ValidationService.registerValidator(blacklistValidator);
|
|
6207
6303
|
ValidationService.registerValidator(emailValidator);
|
|
6208
|
-
ValidationService.registerValidator(integerValidator);
|
|
6209
6304
|
ValidationService.registerValidator(greaterThanValidator);
|
|
6305
|
+
ValidationService.registerValidator(integerValidator);
|
|
6210
6306
|
ValidationService.registerValidator(invalidDatesValidator);
|
|
6211
6307
|
ValidationService.registerValidator(invalidWeekdaysValidator);
|
|
6212
6308
|
ValidationService.registerValidator(lessThanValidator);
|
|
6213
|
-
ValidationService.registerValidator(minLengthValidator);
|
|
6214
6309
|
ValidationService.registerValidator(matchesValidator);
|
|
6310
|
+
ValidationService.registerValidator(maxDateValidator);
|
|
6215
6311
|
ValidationService.registerValidator(maxLengthValidator);
|
|
6216
|
-
ValidationService.registerValidator(minValueValidator);
|
|
6217
6312
|
ValidationService.registerValidator(maxValueValidator);
|
|
6218
6313
|
ValidationService.registerValidator(minDateValidator);
|
|
6219
|
-
ValidationService.registerValidator(
|
|
6314
|
+
ValidationService.registerValidator(minLengthValidator);
|
|
6315
|
+
ValidationService.registerValidator(minValueValidator);
|
|
6220
6316
|
ValidationService.registerValidator(numberValidator);
|
|
6221
|
-
ValidationService.registerValidator(currencyValidator);
|
|
6222
6317
|
ValidationService.registerValidator(organisationsnummerValidator);
|
|
6223
6318
|
ValidationService.registerValidator(percentValidator);
|
|
6224
6319
|
ValidationService.registerValidator(personnummerFormatValidator);
|
|
6225
6320
|
ValidationService.registerValidator(personnummerLuhnValidator);
|
|
6321
|
+
ValidationService.registerValidator(personnummerNotSame);
|
|
6322
|
+
ValidationService.registerValidator(personnummerOlder);
|
|
6323
|
+
ValidationService.registerValidator(personnummerYounger);
|
|
6226
6324
|
ValidationService.registerValidator(phoneNumberValidator);
|
|
6227
6325
|
ValidationService.registerValidator(plusgiroValidator);
|
|
6228
6326
|
ValidationService.registerValidator(postalCodeValidator);
|