anchor.diff:          $formGroup.addClass("has-success");
         });
   
  +      $("[name='_evaluations']").on("change", function() {
  +        var $el = $(this);
  +        var $formGroup = $el.closest(".form-group");
  +
  +        $el.removeClass("form-control-success form-control-error");
  +        $formGroup.removeClass("has-success has-error");
  +
  +        var val = parseFloat($el.val());
  +        if (isNaN(val) || val % 1 !== 0) {
  +          $el.addClass("form-control-error");
  +          $formGroup.addClass("has-error");
  +          return;
  +        }
  +
  +        $el.addClass("form-control-success");
  +        $formGroup.addClass("has-success");
  +      });
  +
  +      // TODO Modify for objects to create grid search
         var recurseGrid = function(arr) {
           if (arr.length === 0) {
             return [];
  
positive.code:           formObj[name] = vals; // Set key and value
          });
  
          // Construct grid
          var props = []; // Store properties in array
          for (var prop in formObj) {
            props.push(formObj[prop]);
          }
          console.log(props);
          console.log(recurseGrid(props));
          return false;
  
          $.ajax({
  
negative.code: 
  block content 
    h1 #[span.mega-octicon.octicon-circuit-board] Project: #{project.name} Optimisation #[small.text-muted (#{project._id})]
    h2 Random Search
    form#new-optimisation
      each val, key in project.schema
        if (val.type === "int" || val.type === "float")
  