kevinchappell / formBuilder

A jQuery plugin for drag and drop form creation
https://formbuilder.online
MIT License
2.59k stars 1.37k forks source link

Configure maximum data field validator. #543

Open leonardovsilva opened 7 years ago

leonardovsilva commented 7 years ago

How configure number of max fields to user add.

leonardovsilva commented 7 years ago

I develop a hacker

 document.addEventListener('fieldAdded', 
                     function(e,data,dat1) { 

                 $scope.addFields++;
                    $timeout(function() { 
                        if($scope.addFields > $scope.maxFields){
                            $scope.formBuilder.actions.removeLastField(); 
                        }
                    }, 100);

}); 
A.prototype.removeLastField = function() {
                    var t = !1,
                        e = this,
                        r = this.d.stage,
                        o = r.getElementsByClassName("form-field");

                    var lastId = e.data.lastID;
                    var lastIdNumberSplit =  e.data.lastID.split('-');
                    var lastIdNumber = lastIdNumberSplit[lastIdNumberSplit.length-1];

                    var realLastId = "";

                    for(i=0; i < lastIdNumberSplit.length; i++){

                        if(i == lastIdNumberSplit.length-1){
                            realLastId += parseInt(lastIdNumber) -1;
                            break;
                        }

                        realLastId +=lastIdNumberSplit[i];
                        realLastId += '-';

                    }

                    var i = document.getElementById(realLastId),
                    s = $(i);
                return i ? (s.slideUp(250, function() {
                    if (s.removeClass("deleting"), s.remove(), t = !0, e.save(), !r.childNodes.length) {
                        var A = r.parentElement;
                        A.classList.add("empty"), A.dataset.content = f.default.current.getStarted
                    }
                    }), document.dispatchEvent(u.default.fieldRemoved), t) : (console.warn("Field not found"), !1)
                },
kevinchappell commented 5 years ago

Not a feature but should be. Glad you found a solution.