brutusin / json-forms

JSON Schema to HTML form generator, supporting dynamic subschemas (on the fly resolution). Extensible and customizable library with zero dependencies. Bootstrap add-ons provided
http://brutusin.org/json-forms
Apache License 2.0
607 stars 168 forks source link

$ref getdata bug #73

Closed fabifabi closed 7 years ago

fabifabi commented 7 years ago

My schema:

var schema =
        {
            "definitions": {
                "column": {
                    "title": "Colonne",
                    "type": "object",
                    "properties":
                            {
                                "name": {
                                    "type": "string",
                                    "title": "Nom de la colonne",
                                    "description": "Nom de la colonne",
                                    "default": "colonne"
                                },
                                "description": {
                                    "type": "string",
                                    "title": "description de la colonne",
                                    "description": "Veuillez rentrer un resumé de la description de la colonne",
                                    "default": "description"
                                },
                                "type": {
                                    "type": "string",
                                    "enum": ["caracteres", "entier", "date", "flottant", "booleen"],
                                    "title": "type de la colonne",
                                    "description": "Ce que contiendras la colone",
                                    "default": "caracteres"
                                },
                                "required": {
                                    "type": "boolean",
                                    "title": "Champs obligatoire ?",
                                    "description": "Ce champs est-il ogligatoire ?",
                                    "default": "false"
                                },
                                "admin": {
                                    "type": "boolean",
                                    "title": "Champs visible que par l'admin",
                                    "description": "Ce champs est-il visible par tout le monde ?",
                                    "default": "false"
                                }

                            },
                    "required": ["name", "description", "type", "required", "admin"]
                }
            },
            "type": "array",
            "items":
                    {
                        "$ref": "#/definitions/column"
                    }
        };

//My code:
    bf.render(container, [{
            "name": "test",
            "description": "test",
            "type": "caracteres",
            "required": true,
            "admin": false
        }]);
    $("#saveGen").click(function ()
    {
        var d = bf.getData();
        console.log(d);
    });

My bug !

removeEmptiesAndNulls line 843. The schema is not recognize as it should do, It try read "name" but the items is only $ref, so, big problem !!

idelvall commented 7 years ago

This has been already solved. Upgrade to the latest version. You can check it at http://brutusin.org/json-forms/ putting your schema and initial data