---
title: "Violation | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/Violation/"
---

# Violation

> Results of preflight check.

## Enumerations

### ViolationState

#### Enumeration Members

| Enumeration Member | Value | Description |
| ------ | ------ | ------ |
|  `Bad` | `3` | The preflight check results in an error, `3`. |
|  `Good` | `1` | The preflight check is successful, `1`. |
|  `None` | `0` | The preflight check was not performed, `0`. |
|  `Warning` | `2` | The preflight check results in a warning, `2`. |

## Classes

### `abstract` Violation

#### Extended by

- [`BleedViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/BleedViolation.md#bleedviolation)
- [`FontSizeViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/FontSizeViolation.md#fontsizeviolation)
- [`ImageQualityViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ImageQualityViolation.md#imagequalityviolation)
- [`MaxArtworkAreaViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/MaxArtworkAreaViolation.md#maxartworkareaviolation)
- [`OutOfPrintAreaViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/OutOfPrintAreaViolation.md#outofprintareaviolation)
- [`RasterElementsViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/RasterElementsViolation.md#rasterelementsviolation)
- [`RegionViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/RegionViolation.md#regionviolation)
- [`SafetyLineViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/SafetyLineViolation.md#safetylineviolation)
- [`TextCropViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/TextCropViolation.md#textcropviolation)
- [`TextInPlaceViolation`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/TextInPlaceViolation.md#textinplaceviolation)

#### Constructors

##### Constructor

```ts
new Violation(): Violation;
```

###### Returns

[`Violation`](#abstract-violation)

#### Properties

##### prepareItem

```ts
prepareItem: (item) => void;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `item` | `Item` |

###### Returns

`void`

#### Methods

##### getDataPropertyName()

```ts
getDataPropertyName(): string;
```

###### Returns

`string`

##### getStatePropertyName()

```ts
getStatePropertyName(): string;
```

###### Returns

`string`

##### getViolationInfo()

```ts
getViolationInfo(item, oldViolationInfo): IViolationInfo<{
}>;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `item` | `Item` |
| `oldViolationInfo` | [`ITotalViolationInfo`](#itotalviolationinfo) |

###### Returns

[`IViolationInfo`](#iviolationinfo)\<\{
\}\>

##### isAvailableFor()

```ts
isAvailableFor(item): boolean;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `item` | `Item` |

###### Returns

`boolean`

##### computeTotalViolationInfo()

```ts
static computeTotalViolationInfo(
   violations, 
   item, 
   oldViolationInfo): ITotalViolationInfo;
```

###### Parameters

| Parameter | Type |
| ------ | ------ |
| `violations` | [`Violation`](#abstract-violation)[] |
| `item` | `Item` |
| `oldViolationInfo` | [`ITotalViolationInfo`](#itotalviolationinfo) |

###### Returns

[`ITotalViolationInfo`](#itotalviolationinfo)

***

### ViolationInfoResult

#### Constructors

##### Constructor

```ts
new ViolationInfoResult(): ViolationInfoResult;
```

###### Returns

[`ViolationInfoResult`](#violationinforesult)

#### Accessors

##### good

###### Get Signature

```ts
get static good(): object;
```

###### Returns

`object`

###### state

```ts
state: ViolationState = ViolationState.Good;
```

##### none

###### Get Signature

```ts
get static none(): object;
```

###### Returns

`object`

###### state

```ts
state: ViolationState = ViolationState.None;
```

## Interfaces

### IMaxArtorkSizeViolationData

#### Extends

- [`IViolationData`](#iviolationdata)

#### Properties

##### constraints

```ts
constraints: MaxArtworkSizeConstraints;
```

##### overallBounds

```ts
overallBounds: RectangleF;
```

***

### ITotalViolationInfo

#### Extended by

- [`IItemViolationInfo`](https://customerscanvas.com/docs/on-premises/design-atoms-js/reference/design-atoms/ViolationService-1.md#iitemviolationinfo)

#### Properties

##### data?

```ts
optional data?: object;
```

###### Index Signature

```ts
[key: string]: IViolationData
```

##### messages?

```ts
optional messages?: string[];
```

##### state

```ts
state: ViolationState;
```

***

### IViolationData

#### Extended by

- [`IMaxArtorkSizeViolationData`](#imaxartorksizeviolationdata)

***

### IViolationInfo

#### Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| `T` *extends* [`IViolationData`](#iviolationdata) | `object` |

#### Properties

##### data?

```ts
optional data?: T;
```

##### message?

```ts
optional message?: string;
```

##### state

```ts
state: ViolationState;
```
