angular-selectize
angular-selectize copied to clipboard
Override $isEmpty is bugged
The overrided function to support empty array is bugged. If the value is NOT an array or string but a number, the function return true, but ... it's not empty !
Because evaluate of "!(123).length" is "true" !
In addition, $isEmpty from Angular is lost by override, and it's a very bad idea. We must keep this function for next evolution.
I made a quick fix by a new function :
function isEmpty2(val, modelCtrl)
{
if( $.isArray(val) )
return (val.length > 0) ? false : true;
return modelCtrl.$isEmpty(val); //call to real Angular function
}
And rewrite call in Validate() function :
var validate = function() {
var isInvalid = (scope.ngRequired() || attrs.required || config.required) && isEmpty2(scope.ngModel,modelCtrl);
modelCtrl.$setValidity('required', !isInvalid);
};
Related to #110
Note that modelCtrl.$isEmpty has been removed in a previous commit.