簡體   English   中英

在ASP.NET MVC中動態生成模型和驗證

[英]Dynamically generating models and validation in ASP.NET MVC

我目前正在執行webapi調用,然后將JSON映射到視圖的預定義模型(定義了驗證屬性等)。

但是,我得到的JSON包含每個字段的元數據(例如類型,必填?,驗證正則表達式),所以我想知道是否存在一種使用適當的驗證規則動態生成模型的方法。

我在想的是,最好呈現一個基於webapi數據的表單,該表單也可以用於回傳到該表單,而無需全部轉換為具有預定義屬性的預定義模型。

這里有什么想法嗎? 也許我缺少一些明顯的東西,因為這是我第一次處理REST並映射到對象,我正在使用JSON.Deserialize進行填充。

這是JSON的示例:

{
  "Fields": [
    {
  "Alias": "Title",
  "Name": "salutation",
  "DataType": 4,
  "DataTypeString": "OptionSet",
  "Mandatory": true,
  "Editable": true,
  "Order": 1,
  "CurrentValue": 0,
  "Options": [
    {
      "Name": "Mr",
      "Value": "0",
      "Default": false
    },
    {
      "Name": "Mrs",
      "Value": "1",
      "Default": false
    },
    {
      "Name": "Ms",
      "Value": "2",
      "Default": false
    },
    {
      "Name": "Miss",
      "Value": "3",
      "Default": false
    }
  ],
  "OptionLinks": []
},
{
  "Alias": "First Name",
  "Name": "firstname",
  "DataType": 1,
  "DataTypeString": "String",
  "Mandatory": true,
  "ValidationRegex": [
    "^[a-zA-Z]*$"
  ],
  "Editable": true,
  "Order": 2,
  "Options": [],
  "OptionLinks": []
},
{
  "Alias": "Middle Name",
  "Name": "middlename",
  "DataType": 1,
  "DataTypeString": "String",
  "Mandatory": true,
  "ValidationRegex": [
    "^[a-zA-Z\\s]*$"
  ],
  "Editable": true,
  "Order": 3,
  "Options": [],
  "OptionLinks": []
},
{
  "Alias": "Surname",
  "Name": "lastname",
  "DataType": 1,
  "DataTypeString": "String",
  "Mandatory": true,
  "ValidationRegex": [
    "^[a-zA-Z]*$"
  ],
  "Editable": true,
  "Order": 4,
  "Options": [],
  "OptionLinks": []
    }
]
}

我們最終創建了一個適當的模型,並帶有Field對象的集合,然后視圖動態地拉出給定頁面的相關Field對象。 然后,我們創建了一個自定義模型活頁夾,以檢查驗證等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM