---
title: "Class ItemDataValidator | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Validators/ItemDataValidator/"
---

# Class ItemDataValidator

> **Inheritance:** `System.Object` -> `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>` -> ItemDataValidator

###### **Namespace**: [Aurigma.DesignAtoms.Validators](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Validators.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public class ItemDataValidator : ItemVisitor<List<ValidationResult>>
```

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### ItemDataValidator

```csharp
public ItemDataValidator(ItemData itemData, IRemoteImageLoader remoteImageLoader, IPublicImagesProvider publicImagesProvider, IUserImagesProvider userImagesProvider, IBarcodeService barcodeService, IFileCacheImageParamsReader fileCacheImageParamsReader, ItemDataValidator.Factory itemDataValidatorFactory, ISessionContext sessionContext = null)
```

## Methods

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(SmartItem smart)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.SmartItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/SmartItem.md) | *smart* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.SmartItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(BarcodeItem barcode)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.BarcodeItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/BarcodeItem.md) | *barcode* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.BarcodeItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(ImageItem image)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ImageItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ImageItem.md) | *image* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.ImageItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(DashedLineItem dashedLine)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.DashedLineItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/DashedLineItem.md) | *dashedLine* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.DashedLineItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(LineItem line)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.LineItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/LineItem.md) | *line* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.LineItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(EllipseItem ellipse)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.EllipseItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/EllipseItem.md) | *ellipse* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.EllipseItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(PolylineItem polyline)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PolylineItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PolylineItem.md) | *polyline* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.PolylineItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(RectangleItem rectangle)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.RectangleItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/RectangleItem.md) | *rectangle* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.RectangleItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(PlainTextItem plainText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PlainTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PlainTextItem.md) | *plainText* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.PlainTextItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(BoundedTextItem boundedText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.BoundedTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/BoundedTextItem.md) | *boundedText* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.BoundedTextItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(CurvedTextItem curvedText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.CurvedTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/CurvedTextItem.md) | *curvedText* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.CurvedTextItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(GridItem grid)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.GridItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/GridItem.md) | *grid* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.GridItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(PlaceholderItem placeholder)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PlaceholderItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PlaceholderItem.md) | *placeholder* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.PlaceholderItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(GroupItem groupItem)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.GroupItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/GroupItem.md) | *groupItem* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.GroupItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(ClipartItem clipartItem)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ClipartItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ClipartItem.md) | *clipartItem* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.ClipartItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(ShapeItem shape)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.ShapeItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/ShapeItem.md) | *shape* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.ShapeItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(PathBoundedTextItem pathBoundedText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.PathBoundedTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/PathBoundedTextItem.md) | *pathBoundedText* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.PathBoundedTextItem)`

### Visit

```csharp
public override Task<List<ValidationResult>> Visit(AutoScaledTextItem autoScaledText)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| [Aurigma.DesignAtoms.Model.Items.AutoScaledTextItem](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.Items/AutoScaledTextItem.md) | *autoScaledText* |  |

##### Returns

`System.Threading.Tasks.Task<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>`

##### Overrides

* `Aurigma.DesignAtoms.Model.ItemVisitor<System.Collections.Generic.List<Aurigma.DesignAtoms.Validators.ValidationResult>>.Visit(Aurigma.DesignAtoms.Model.Items.AutoScaledTextItem)`
