2013-07-02 3 views

답변

2

사용중인 유효성 검사 라이브러리가 relatively recent version of the JSON Schema을 기반으로 제공되는 경우 patternProperties을 사용하여 사용자 정의 키로 속성의 유효성을 검사 할 수 있어야합니다.

var schema = { 
    "patternProperties": { 
     "^[a-zA-Z0-9]+$": { 
      "title": "someUserDefinedPropertyName", 
      "type": "number" 
     } 
    } 
}; 

var valid = { "a": 1234, "b": 5678 }; 
var invalid = { "a": "1234", "b": 5678 }; 

alert("Validates? [should be true]: " + tv4.validate(valid, schema)); 
alert("Validates? [should be false]: " + tv4.validate(invalid, schema)); 
alert('Variable invalid, error at data path: ' + tv4.error.dataPath + '\n\nError Description:\n' + tv4.error.message); 

자세한 내용은 제가 위에 링크 된 스키마의 섹션을 읽기뿐만 아니라 advanced examples on json-schema.org을 확인하시기 바랍니다 :

다음은 유효성 검사를 수행하는 자바 스크립트 라이브러리 tv4를 사용하는 간단한 예제입니다.

+0

정말 * any * 속성 이름 일 수있는 경우 "additionalProperties"가 더 적합합니다. 당신은 아마 그 대답에 언급해야합니다. :) – cloudfeet

관련 문제