用C#写一个灵活的要素Feature属性Properties质检WebAPI接口(二)

本文主要介绍质检规则的配置。

CheckValue.json属性取值质检规则(单一字段)

[
    {
        "featureclass": [
            "ZD_SHYQ",
            "ZD_SHYQ_WRK"
        ],
        "rule": [
            {
                "name": "ZDTZM",
                "nullable": false,
                "expression": "^((G[BDEFSXY])|(J[ABCDEFSXY])|(ZW))$"
            },
            {
                "name": "QLR",
                "nullable": false
            },
            {
                "name": "YT",
                "nullable": false,
                "collection": {
                    "seperator": ";",
                    "list": "01,011,012,013,02,021,022,023,03,031,032,033,04,041,042,043,05,051,052,053,054,06,061,062,063,07,071,072,08,081,082,083,084,085,086,087,088,09,091,092,093,094,095,10,101,102,103,104,105,106,107,11,111,112,113,114,115,116,117,118,119,12,121,122,123,124,125,126,127,20,201,202,203,204,205"
                }
            },
            {
                "name": "ZYYT",
                "nullable": false,
				"expression": "^(01|011|012|013|02|021|022|023|03|031|032|033|04|041|042|043|05|051|052|053|054|06|061|062|063|07|071|072|08|081|082|083|084|085|086|087|088|09|091|092|093|094|095|10|101|102|103|104|105|106|107|11|111|112|113|114|115|116|117|118|119|12|121|122|123|124|125|126|127|20|201|202|203|204|205)$"
            }
        ]
    }
]
相同规则的featureclass放在一个集合中(下同)。规则中,name为字段名,nullable即是否允许为空,collection为取值集合(其中,seperator为各值分割符,list为以逗号分割的取值集合),expression为正则表达式。


CheckRestriction.json空值限定质检规则(关联字段)

[
    {
        "featureclass": [
            "ZD_SHYQ",
            "ZD_SHYQ_WRK"
        ],
        "rule": [
            {
                "trunk": "BDCDYH",
                "branch": [
                    "ZDDM"
                ]
            }
        ]
    },
    {
        "featureclass": [
            "ZRZ",
            "ZRZ_WRK"
        ],
        "rule": [
            {
                "trunk": "BDCDYH",
                "branch": [
                    "ZDDM",
                    "ZRZH"
                ]
            }
        ]
    }
]
trunk为主字段,branck为分支字段。意思是,当trunk字段取值不为空时,branch字段取值不可为空,否则就不满足规则。


CheckRelation.json取值限定质检规则(关联字段)

[
    {
        "featureclass": [
            "ZRZ",
            "ZRZ_WRK"
        ],
        "rule": [
            {
                "short": "ZDZHTZM",
                "long": "BDCDYH",
                "from": 13,
                "to": 14
            },
            {
                "short": "ZDDM",
                "long": "BDCDYH",
                "from": 1,
                "to": 19
            },
            {
                "short": "ZRZH",
                "long": "BDCDYH",
                "from": 24,
                "to": 24
            }
        ]
    }
]
short、long为短、长字段,from、to为起止索引。意思是,当long字段非空时,short字段取值须为long字段的第from位到第to位。这个索引从1开始(因为这个配置是给人看的)。

猜你喜欢

转载自blog.csdn.net/a_dev/article/details/80677156