if (!\Grase\Validate::numericLimit($groupTimeLimit[$key])) {
     $error[] = sprintf(T_("Invalid value '%s' for Time Limit"), $groupTimeLimit[$key]);
 }
 if (!\Grase\Validate::numericLimit($groupRecurTimeLimit[$key])) {
     $error[] = sprintf(T_("Invalid value '%s' for Time Limit"), $groupRecurTimeLimit[$key]);
 }
 if (!\Grase\Validate::numericLimit($groupRecurDataLimit[$key])) {
     $error[] = sprintf(T_("Invalid value '%s' for Data Limit"), $groupRecurDataLimit[$key]);
 }
 if (!\Grase\Validate::numericLimit($groupIdleTimeout[$key])) {
     $error[] = sprintf(T_("Invalid value '%s' for Idle Timeout"), $groupIdleTimeout[$key]);
 }
 if (!\Grase\Validate::recurrenceInterval($groupRecurTime[$key], recurtimes())) {
     $error[] = sprintf(T_("Invalid recurrence interval '%s'"), $groupRecurTime[$key]);
 }
 if (!\Grase\Validate::recurrenceInterval($groupRecurData[$key], recurtimes())) {
     $error[] = sprintf(T_("Invalid recurrence interval '%s'"), $groupRecurData[$key]);
 }
 if (!\Grase\Validate::recurrenceTime($groupRecurTime[$key], $groupRecurTimeLimit[$key])) {
     $error[] = T_("Recurring time limit must be less than interval");
 }
 if (!\Grase\Validate::bandwidthOptions($groupBandwidthDownLimit[$key], bandwidth_options())) {
     $error[] = sprintf(T_("Invalid Bandwidth Limit '%s'"), $groupBandwidthDownLimit[$key]);
 }
 if (!\Grase\Validate::bandwidthOptions($groupBandwidthUpLimit[$key], bandwidth_options())) {
     $error[] = sprintf(T_("Invalid Bandwidth Limit '%s'"), $groupBandwidthUpLimit[$key]);
 }
 //TODO we don't validate that it's not 0, relying on HTML5 to do that
 $error[] = @validate_int($groupSimultaneousUse[$key], true);
 // TODO: Validate Login-Time
 $error[] = @validate_uucptimerange($groupLoginTime[$key]);