---
title: clsTaskBusinessRules
summary: API reference for clsTaskBusinessRules.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.Tasks
reference_type: package
---

# clsTaskBusinessRules

Shared rule-method container used by the task entity to enforce domain validation.

## Purpose
- Host reusable rule functions decorated with `RuleData` for BOF registration.

## Context
- Namespace: `SAIF.Business.Tasks`
- Assembly/package: `SAIF.BOF.Business.Tasks`

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| ValidSourceCategory(target, e) | `Shared Function(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean` | Validate the source/category pair against `TASK_CATEGORY_CODE`. |
| CheckDate(target, e) | `Shared Function(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean` | Require a current or future task date when BOF date validation applies. |
| CheckDateModified(target, e) | `Shared Function(ByVal target As Object, ByVal e As clsRuleArgs) As Boolean` | Emit the workday-adjustment warning when a due date is shifted. |

## Behavioral notes
- Implements [BR-001](../../business-rules.md#br-001-valid-source-and-category-combination), [BR-002](../../business-rules.md#br-002-task-date-must-be-current-or-future), and [BR-003](../../business-rules.md#br-003-due-date-adjusted-to-a-workday-warning).
- Each rule can be suppressed by a concrete task through the `OverrideRules(...)` hook on `clsTask`.

## Constraints and usage notes
- The class is a shared rule host rather than a persisted entity.

## Sources
- `Business\SAIF.Business.Tasks\clsTaskBusinessRules.vb`
