xzwebx-httpfilter 1.3.0 → 2.0.0
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/HttpFilter.js +197 -61
- package/package.json +1 -1
package/HttpFilter.js
CHANGED
|
@@ -9,10 +9,10 @@ let ModuleInterfaceMap = {}
|
|
|
9
9
|
let FieldMap = {}
|
|
10
10
|
async function response(req, res, next) {
|
|
11
11
|
let retData = {
|
|
12
|
-
codeKey: '
|
|
12
|
+
codeKey: 'SVC_ERR',
|
|
13
13
|
data: []
|
|
14
14
|
}
|
|
15
|
-
retData.codeKey = '
|
|
15
|
+
retData.codeKey = 'SUCC'
|
|
16
16
|
return res.send(res.Msg(retData))
|
|
17
17
|
}
|
|
18
18
|
function Init(language, resultCodeMap, tipsMap, moduleMap, moduleInterfaceMap, fieldMap) {
|
|
@@ -101,13 +101,13 @@ function CheckReq(req, res, next) {
|
|
|
101
101
|
|
|
102
102
|
const module = ModuleMap[baseUrl]
|
|
103
103
|
if (!module) {
|
|
104
|
-
return res.send(res.Msg({codeKey: '
|
|
104
|
+
return res.send(res.Msg({codeKey: 'CLT_ERR', msg: ['WEBX_ERR_URL']}))
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
if (!ModuleInterfaceMap[module.id] ||
|
|
108
108
|
!ModuleInterfaceMap[module.id][subUri] ||
|
|
109
109
|
!ModuleInterfaceMap[module.id][subUri][req.method.toLowerCase()]) {
|
|
110
|
-
return res.send(res.Msg({codeKey: '
|
|
110
|
+
return res.send(res.Msg({codeKey: 'CLT_ERR', msg: ['WEBX_ERR_URL']}))
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
req.headers['interfaceInfo'] = ModuleInterfaceMap[module.id][subUri][req.method.toLowerCase()]
|
|
@@ -118,7 +118,7 @@ function CheckReq(req, res, next) {
|
|
|
118
118
|
|
|
119
119
|
let retMsgData = cycleCheckParams(FieldMap[reqMsgId], req.body)
|
|
120
120
|
if (retMsgData) {
|
|
121
|
-
return res.send(res.Msg({codeKey: '
|
|
121
|
+
return res.send(res.Msg({codeKey: 'CLT_ERR', msg: retMsgData}))
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
return next()
|
|
@@ -161,10 +161,14 @@ function cycleCheckParams(msgFieldMap, data) {
|
|
|
161
161
|
}
|
|
162
162
|
let fatherFieldType = fCfgItem.fieldType
|
|
163
163
|
if (fatherFieldType == 'LIST' || (fatherFieldType == 'OBJ' && fCfgItem.keyType == 'VOBJ')) {
|
|
164
|
-
|
|
165
|
-
retMsgData = cycleCheckParams(msgFieldMap[fieldName], data
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
if (isRoot) {
|
|
165
|
+
retMsgData = cycleCheckParams(msgFieldMap[fieldName], data)
|
|
166
|
+
} else {
|
|
167
|
+
for (let idx in data) {
|
|
168
|
+
retMsgData = cycleCheckParams(msgFieldMap[fieldName], data[idx])
|
|
169
|
+
if (retMsgData) {
|
|
170
|
+
return retMsgData
|
|
171
|
+
}
|
|
168
172
|
}
|
|
169
173
|
}
|
|
170
174
|
} else {
|
|
@@ -187,20 +191,25 @@ function IsStringOk(fCfgItem, paramValue) {
|
|
|
187
191
|
}
|
|
188
192
|
|
|
189
193
|
if (fCfgItem.ifMust == 'NO' && (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
+
paramValue == undefined ||
|
|
195
|
+
paramValue == null ||
|
|
196
|
+
paramValue == '' ||
|
|
197
|
+
(typeof paramValue === 'object' && !paramValue.length && !Object.keys(paramValue).length))
|
|
194
198
|
) {
|
|
195
199
|
return null
|
|
196
200
|
}
|
|
197
201
|
|
|
198
|
-
if (!paramValue) {
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
if (!paramValue || typeof paramValue != 'string') {
|
|
203
|
+
if (fCfgItem.nullTips) {
|
|
204
|
+
if (fCfgItem.nullTips.substring(0, 2) === '${' && fCfgItem.nullTips.substring(fCfgItem.nullTips.length -1, fCfgItem.nullTips.length) === '}') {
|
|
205
|
+
let nullTipsKey = fCfgItem.nullTips.substring(2, fCfgItem.nullTips.length -1)
|
|
206
|
+
if (TipsMap[nullTipsKey]) {
|
|
207
|
+
return TipsMap[nullTipsKey].tips
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return fCfgItem.nullTips
|
|
211
|
+
}
|
|
212
|
+
return ['WEBX_NULL_FIELD', 'string', fCfgItem.fieldUrl]
|
|
204
213
|
}
|
|
205
214
|
|
|
206
215
|
for (let idx in fCfgItem.rules) {
|
|
@@ -222,9 +231,15 @@ function IsStringOk(fCfgItem, paramValue) {
|
|
|
222
231
|
|
|
223
232
|
if (!isPass) {
|
|
224
233
|
if (rule.ruleDesc) {
|
|
234
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
235
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
236
|
+
if (TipsMap[ruleTipsKey]) {
|
|
237
|
+
return TipsMap[ruleTipsKey].tips
|
|
238
|
+
}
|
|
239
|
+
}
|
|
225
240
|
return rule.ruleDesc
|
|
226
241
|
}
|
|
227
|
-
return ['
|
|
242
|
+
return ['WEBX_WRONG_RANGE', fCfgItem.fieldUrl, JSON.stringify(rule.exprVal)]
|
|
228
243
|
}
|
|
229
244
|
} else if (rule.checkType == 'ENU') {
|
|
230
245
|
if (rule.isCaseSensitive == 1) {
|
|
@@ -232,16 +247,28 @@ function IsStringOk(fCfgItem, paramValue) {
|
|
|
232
247
|
if (rule.isMatched === 1) {
|
|
233
248
|
if (!rule.exprVal.includes(paramValue)) {
|
|
234
249
|
if (rule.ruleDesc) {
|
|
250
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
251
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
252
|
+
if (TipsMap[ruleTipsKey]) {
|
|
253
|
+
return TipsMap[ruleTipsKey].tips
|
|
254
|
+
}
|
|
255
|
+
}
|
|
235
256
|
return rule.ruleDesc
|
|
236
257
|
}
|
|
237
|
-
return ['
|
|
258
|
+
return ['WEBX_WRONG_ENU_VALUE', fCfgItem.fieldUrl, rule.exprVal]
|
|
238
259
|
}
|
|
239
260
|
} else {
|
|
240
261
|
if (rule.exprVal.includes(paramValue)) {
|
|
241
262
|
if (rule.ruleDesc) {
|
|
263
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
264
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
265
|
+
if (TipsMap[ruleTipsKey]) {
|
|
266
|
+
return TipsMap[ruleTipsKey].tips
|
|
267
|
+
}
|
|
268
|
+
}
|
|
242
269
|
return rule.ruleDesc
|
|
243
270
|
}
|
|
244
|
-
return ['
|
|
271
|
+
return ['WEBX_EXCLUSION_ENU_VALUE', fCfgItem.fieldUrl, rule.exprVal]
|
|
245
272
|
}
|
|
246
273
|
}
|
|
247
274
|
}
|
|
@@ -263,12 +290,18 @@ function IsStringOk(fCfgItem, paramValue) {
|
|
|
263
290
|
}
|
|
264
291
|
if (!isPass) {
|
|
265
292
|
if (rule.ruleDesc) {
|
|
293
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
294
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
295
|
+
if (TipsMap[ruleTipsKey]) {
|
|
296
|
+
return TipsMap[ruleTipsKey].tips
|
|
297
|
+
}
|
|
298
|
+
}
|
|
266
299
|
return rule.ruleDesc
|
|
267
300
|
}
|
|
268
301
|
if (rule.isMatched === 1) {
|
|
269
|
-
return ['
|
|
302
|
+
return ['WEBX_WRONG_ENU_VALUE', fCfgItem.fieldUrl, rule.exprVal]
|
|
270
303
|
} else {
|
|
271
|
-
return ['
|
|
304
|
+
return ['WEBX_EXCLUSION_ENU_VALUE', fCfgItem.fieldUrl, rule.exprVal]
|
|
272
305
|
}
|
|
273
306
|
}
|
|
274
307
|
}
|
|
@@ -292,9 +325,15 @@ function IsStringOk(fCfgItem, paramValue) {
|
|
|
292
325
|
}
|
|
293
326
|
if (!isPass) {
|
|
294
327
|
if (rule.ruleDesc) {
|
|
328
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
329
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
330
|
+
if (TipsMap[ruleTipsKey]) {
|
|
331
|
+
return TipsMap[ruleTipsKey].tips
|
|
332
|
+
}
|
|
333
|
+
}
|
|
295
334
|
return rule.ruleDesc
|
|
296
335
|
}
|
|
297
|
-
return ['
|
|
336
|
+
return ['WEBX_WRONG_REGEX_VALUE', fCfgItem.fieldUrl, exprVal]
|
|
298
337
|
}
|
|
299
338
|
}
|
|
300
339
|
}
|
|
@@ -307,20 +346,25 @@ function IsIntOk(fCfgItem, paramValue) {
|
|
|
307
346
|
}
|
|
308
347
|
|
|
309
348
|
if (fCfgItem.ifMust == 'NO' && (
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
(typeof
|
|
349
|
+
paramValue == undefined ||
|
|
350
|
+
paramValue == null ||
|
|
351
|
+
paramValue == '' ||
|
|
352
|
+
(typeof paramValue === 'object' && !paramValue.length && !Object.keys(paramValue).length))
|
|
314
353
|
) {
|
|
315
354
|
return null
|
|
316
355
|
}
|
|
317
356
|
|
|
318
|
-
if (paramValue == undefined) {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
357
|
+
if (paramValue == undefined || typeof paramValue != 'number') {
|
|
358
|
+
if (fCfgItem.nullTips) {
|
|
359
|
+
if (fCfgItem.nullTips.substring(0, 2) === '${' && fCfgItem.nullTips.substring(fCfgItem.nullTips.length -1, fCfgItem.nullTips.length) === '}') {
|
|
360
|
+
let nullTipsKey = fCfgItem.nullTips.substring(2, fCfgItem.nullTips.length -1)
|
|
361
|
+
if (TipsMap[nullTipsKey]) {
|
|
362
|
+
return TipsMap[nullTipsKey].tips
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
return fCfgItem.nullTips
|
|
366
|
+
}
|
|
367
|
+
return ['WEBX_NULL_FIELD', 'number', fCfgItem.fieldUrl]
|
|
324
368
|
}
|
|
325
369
|
|
|
326
370
|
for (let idx in fCfgItem.rules) {
|
|
@@ -342,25 +386,43 @@ function IsIntOk(fCfgItem, paramValue) {
|
|
|
342
386
|
|
|
343
387
|
if (!isPass) {
|
|
344
388
|
if (rule.ruleDesc) {
|
|
389
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
390
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
391
|
+
if (TipsMap[ruleTipsKey]) {
|
|
392
|
+
return TipsMap[ruleTipsKey].tips
|
|
393
|
+
}
|
|
394
|
+
}
|
|
345
395
|
return rule.ruleDesc
|
|
346
396
|
}
|
|
347
|
-
return ['
|
|
397
|
+
return ['WEBX_WRONG_RANGE', fCfgItem.fieldUrl, JSON.stringify(rule.exprVal)]
|
|
348
398
|
}
|
|
349
399
|
} else if (rule.checkType == 'ENU') {
|
|
350
400
|
if (rule.exprVal && rule.exprVal.length) {
|
|
351
401
|
if (rule.isMatched === 1) {
|
|
352
402
|
if (!rule.exprVal.includes(paramValue)) {
|
|
353
403
|
if (rule.ruleDesc) {
|
|
404
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
405
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
406
|
+
if (TipsMap[ruleTipsKey]) {
|
|
407
|
+
return TipsMap[ruleTipsKey].tips
|
|
408
|
+
}
|
|
409
|
+
}
|
|
354
410
|
return rule.ruleDesc
|
|
355
411
|
}
|
|
356
|
-
return ['
|
|
412
|
+
return ['WEBX_WRONG_ENU_VALUE', fCfgItem.fieldUrl, rule.exprVal]
|
|
357
413
|
}
|
|
358
414
|
} else {
|
|
359
415
|
if (rule.exprVal.includes(paramValue)) {
|
|
360
416
|
if (rule.ruleDesc) {
|
|
417
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
418
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
419
|
+
if (TipsMap[ruleTipsKey]) {
|
|
420
|
+
return TipsMap[ruleTipsKey].tips
|
|
421
|
+
}
|
|
422
|
+
}
|
|
361
423
|
return rule.ruleDesc
|
|
362
424
|
}
|
|
363
|
-
return ['
|
|
425
|
+
return ['WEBX_EXCLUSION_ENU_VALUE', fCfgItem.fieldUrl, rule.exprVal]
|
|
364
426
|
}
|
|
365
427
|
}
|
|
366
428
|
}
|
|
@@ -384,9 +446,15 @@ function IsIntOk(fCfgItem, paramValue) {
|
|
|
384
446
|
}
|
|
385
447
|
if (!isPass) {
|
|
386
448
|
if (rule.ruleDesc) {
|
|
449
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
450
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
451
|
+
if (TipsMap[ruleTipsKey]) {
|
|
452
|
+
return TipsMap[ruleTipsKey].tips
|
|
453
|
+
}
|
|
454
|
+
}
|
|
387
455
|
return rule.ruleDesc
|
|
388
456
|
}
|
|
389
|
-
return ['
|
|
457
|
+
return ['WEBX_WRONG_REGEX_VALUE', fCfgItem.fieldUrl, exprVal]
|
|
390
458
|
}
|
|
391
459
|
}
|
|
392
460
|
}
|
|
@@ -399,24 +467,58 @@ function IsObjOk(fCfgItem, paramValue) {
|
|
|
399
467
|
}
|
|
400
468
|
|
|
401
469
|
if (fCfgItem.ifMust == 'NO' && (
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
(typeof
|
|
470
|
+
paramValue == undefined ||
|
|
471
|
+
paramValue == null ||
|
|
472
|
+
paramValue == '' ||
|
|
473
|
+
(typeof paramValue === 'object' && !paramValue.length && !Object.keys(paramValue).length))
|
|
406
474
|
) {
|
|
407
475
|
return null
|
|
408
476
|
}
|
|
409
477
|
|
|
410
|
-
if (!paramValue) {
|
|
411
|
-
|
|
478
|
+
if (!paramValue || paramValue.constructor != Object || !Object.keys(paramValue).length) {
|
|
479
|
+
if (fCfgItem.nullTips) {
|
|
480
|
+
if (fCfgItem.nullTips.substring(0, 2) === '${' && fCfgItem.nullTips.substring(fCfgItem.nullTips.length -1, fCfgItem.nullTips.length) === '}') {
|
|
481
|
+
let nullTipsKey = fCfgItem.nullTips.substring(2, fCfgItem.nullTips.length -1)
|
|
482
|
+
if (TipsMap[nullTipsKey]) {
|
|
483
|
+
return TipsMap[nullTipsKey].tips
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
return fCfgItem.nullTips
|
|
487
|
+
}
|
|
488
|
+
return ['WEBX_NULL_FIELD', 'map', fCfgItem.fieldUrl]
|
|
412
489
|
}
|
|
413
490
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
491
|
+
let length = Object.keys(paramValue).length
|
|
492
|
+
for (let idx in fCfgItem.rules) {
|
|
493
|
+
let rule = fCfgItem.rules[idx]
|
|
494
|
+
if (rule.checkType == 'RANGE') {
|
|
495
|
+
let isPass = false
|
|
496
|
+
if (typeof rule.exprVal[0] == 'object') {
|
|
497
|
+
for (let i in rule.exprVal) {
|
|
498
|
+
if (length >= parseInt(rule.exprVal[i][0]) && length <= parseInt(rule.exprVal[i][1])) {
|
|
499
|
+
isPass = true
|
|
500
|
+
break
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
} else {
|
|
504
|
+
if (length >= parseInt(rule.exprVal[0]) && length <= parseInt(rule.exprVal[1])) {
|
|
505
|
+
isPass = true
|
|
506
|
+
}
|
|
507
|
+
}
|
|
417
508
|
|
|
418
|
-
|
|
419
|
-
|
|
509
|
+
if (!isPass) {
|
|
510
|
+
if (rule.ruleDesc) {
|
|
511
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
512
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
513
|
+
if (TipsMap[ruleTipsKey]) {
|
|
514
|
+
return TipsMap[ruleTipsKey].tips
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
return rule.ruleDesc
|
|
518
|
+
}
|
|
519
|
+
return ['WEBX_WRONG_RANGE', fCfgItem.fieldUrl, JSON.stringify(rule.exprVal)]
|
|
520
|
+
}
|
|
521
|
+
}
|
|
420
522
|
}
|
|
421
523
|
|
|
422
524
|
return null
|
|
@@ -427,24 +529,58 @@ function IsListOk(fCfgItem, paramValue) {
|
|
|
427
529
|
}
|
|
428
530
|
|
|
429
531
|
if (fCfgItem.ifMust == 'NO' && (
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
(typeof
|
|
532
|
+
paramValue == undefined ||
|
|
533
|
+
paramValue == null ||
|
|
534
|
+
paramValue == '' ||
|
|
535
|
+
(typeof paramValue === 'object' && !paramValue.length && !Object.keys(paramValue).length))
|
|
434
536
|
) {
|
|
435
537
|
return null
|
|
436
538
|
}
|
|
437
539
|
|
|
438
|
-
if (!paramValue) {
|
|
439
|
-
|
|
540
|
+
if (!paramValue || paramValue.constructor != Array || !paramValue.length) {
|
|
541
|
+
if (fCfgItem.nullTips) {
|
|
542
|
+
if (fCfgItem.nullTips.substring(0, 2) === '${' && fCfgItem.nullTips.substring(fCfgItem.nullTips.length -1, fCfgItem.nullTips.length) === '}') {
|
|
543
|
+
let nullTipsKey = fCfgItem.nullTips.substring(2, fCfgItem.nullTips.length -1)
|
|
544
|
+
if (TipsMap[nullTipsKey]) {
|
|
545
|
+
return TipsMap[nullTipsKey].tips
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
return fCfgItem.nullTips
|
|
549
|
+
}
|
|
550
|
+
return ['WEBX_NULL_FIELD', 'list', fCfgItem.fieldUrl]
|
|
440
551
|
}
|
|
441
552
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
553
|
+
let length = paramValue.length
|
|
554
|
+
for (let idx in fCfgItem.rules) {
|
|
555
|
+
let rule = fCfgItem.rules[idx]
|
|
556
|
+
if (rule.checkType == 'RANGE') {
|
|
557
|
+
let isPass = false
|
|
558
|
+
if (typeof rule.exprVal[0] == 'object') {
|
|
559
|
+
for (let i in rule.exprVal) {
|
|
560
|
+
if (length >= parseInt(rule.exprVal[i][0]) && length <= parseInt(rule.exprVal[i][1])) {
|
|
561
|
+
isPass = true
|
|
562
|
+
break
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
} else {
|
|
566
|
+
if (length >= parseInt(rule.exprVal[0]) && length <= parseInt(rule.exprVal[1])) {
|
|
567
|
+
isPass = true
|
|
568
|
+
}
|
|
569
|
+
}
|
|
445
570
|
|
|
446
|
-
|
|
447
|
-
|
|
571
|
+
if (!isPass) {
|
|
572
|
+
if (rule.ruleDesc) {
|
|
573
|
+
if (rule.ruleDesc.substring(0, 2) === '${' && rule.ruleDesc.substring(rule.ruleDesc.length -1, rule.ruleDesc.length) === '}') {
|
|
574
|
+
let ruleTipsKey = rule.ruleDesc.substring(2, rule.ruleDesc.length -1)
|
|
575
|
+
if (TipsMap[ruleTipsKey]) {
|
|
576
|
+
return TipsMap[ruleTipsKey].tips
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
return rule.ruleDesc
|
|
580
|
+
}
|
|
581
|
+
return ['WEBX_WRONG_RANGE', fCfgItem.fieldUrl, JSON.stringify(rule.exprVal)]
|
|
582
|
+
}
|
|
583
|
+
}
|
|
448
584
|
}
|
|
449
585
|
|
|
450
586
|
return null
|