2016-11-04 96 views
1

我正在使用json-schema-validator2.2.6庫來驗證我的json針對json模式。問題是它提供了與我無關的通用錯誤消息。我想發送自定義消息或代碼給用戶。json-schema-validator自定義消息

我們有任何這樣的選項:

"properties": { 
     "myKey": { 
      "type": "string" 
      **"errorMessage" : "My error message"** 
     }, 
} 

或者任何其他方式,我可以提供自定義錯誤消息?

回答

0

您可以在JSON模式中創​​建自定義錯誤消息。排序!(在NodeJS中)。讓我們舉個例子 - 我們必須檢查JSON中的一個關鍵'DOB',它應該是必填字段,它的格式應該是'dd-mmm-yyyy'
現在我們必須在JSON中使用兩個驗證。首先,它應該存在,它應該遵循'DD-MMM-YYYY」的圖案

現在JSON模式將

{ 
"id": "DOBChecker", 
"type": "object", 
"properties": { 
    "DOB": { 
     "type": "string", 
     "required": true, 
     "pattern": "/^(([1-9]|0[1-9]|1[0-9]|2[1-9]|3[0-1])[-](JAN|FEB|MAR|APR|MAY|JUN|JULY|AUG|SEP|OCT|NOV|DEC)[-](\d{4}))$/i", 
     "message": { 
      "required": "Date of Birth is Required Property", 
      "pattern": "Correct format of Date Of Birth is dd-mmm-yyyy" 
     } 
    } 
} 

現在,如果你已經得到了驗證,而錯誤。您將獲取整個模式返回到錯誤鍵陣列和該訪問模式對象。模式對象將包含與上面定義的模式完全相同的密鑰。
您現在可以訪問它。失敗的驗證名稱將位於「名稱」鍵中。現在您可以使用
schema.message[name]