Changeset 493 for Dev/trunk/src/server


Ignore:
Timestamp:
03/09/14 19:25:40 (11 years ago)
Author:
hendrikvanantwerpen
Message:
  • _ComplexValueMixin propagates priorityChange to children.
  • Deserialize updated docs after save too.
  • Validate to false if definitions are missing.
Location:
Dev/trunk/src/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/src/server/config/couchdb-schema.json

    r492 r493  
    9999        "type": "object",
    100100        "oneOf": [
     101          { "$ref": "#/definitions/content/Header" },
    101102          { "$ref": "#/definitions/content/Text" },
     103          { "$ref": "#/definitions/content/Divider" },
    102104          { "$ref": "#/definitions/content/StringInput" },
    103           { "$ref": "#/definitions/content/ScaleInput" }
     105          { "$ref": "#/definitions/content/TextInput" },
     106          { "$ref": "#/definitions/content/NumberInput" },
     107          { "$ref": "#/definitions/content/ScaleInput" },
     108          { "$ref": "#/definitions/content/MultipleChoiceInput" }
    104109        ]
    105110      },
     111      "Header": {
     112        "type": "object",
     113        "properties": {
     114          "type": { "type": "string", "pattern": "Header" },
     115          "text": { "type": "string" }
     116        },
     117        "required": ["type","text"],
     118        "additionalProperties": false
     119      },
    106120      "Text": {
    107121        "type": "object",
     
    113127        "additionalProperties": false
    114128      },
     129      "Divider": {
     130        "type": "object",
     131        "properties": {
     132          "type": { "type": "string", "pattern": "Divider" }
     133        },
     134        "additionalProperties": false
     135      },
    115136      "StringInput": {
    116137        "type": "object",
    117138        "properties": {
    118139          "type": { "type": "string", "pattern": "StringInput" },
     140          "text": { "type": "string" }
     141        },
     142        "required":["type","text"],
     143        "additionalProperties": false
     144      },
     145      "TextInput": {
     146        "type": "object",
     147        "properties": {
     148          "type": { "type": "string", "pattern": "TextInput" },
     149          "maxLength": { "type": "integer" },
     150          "text": { "type": "string" }
     151        },
     152        "required":["type","text"],
     153        "additionalProperties": false
     154      },
     155      "NumberInput": {
     156        "type": "object",
     157        "properties": {
     158          "type": { "type": "string", "pattern": "NumberInput" },
     159          "min": { "type": "integer" },
     160          "max": { "type": "integer" },
     161          "places": { "type": "integer" },
    119162          "text": { "type": "string" }
    120163        },
     
    144187        "required":["type","min","max","items"],
    145188        "additionalProperties": false
     189      },
     190      "MultipleChoiceInput": {
     191        "type": "object",
     192        "properties": {
     193          "type": { "type": "string", "pattern": "MultipleChoiceInput" },
     194          "allowMultiple": { "type": "boolean" },
     195          "items": { "type": "array", "items": {
     196              "type": "object",
     197              "properties": {
     198                  "text": { "type": "string" }
     199              },
     200              "required": ["text"],
     201              "additionalProperties": false
     202          } }
     203        },
     204        "required":["type","items"],
     205        "additionalProperties": false
    146206      }
    147207    }
  • Dev/trunk/src/server/util/validator.js

    r492 r493  
    2222});
    2323
    24 module.exports = tv4.validateResult.bind(tv4);
     24module.exports = function() {
     25    var result = tv4.validateResult.apply(tv4,arguments);
     26    if ( result.missing.length > 0 ) {
     27        result.valid = false;
     28    }
     29    return result;
     30};
Note: See TracChangeset for help on using the changeset viewer.