# google.appengine.api.validation.Repeated

<br />

|---|
| [View source on GitHub](https://github.com/GoogleCloudPlatform/appengine-python-standard/tree/main/src/google/appengine/api/validation.py#L1355-L1411) |

Repeated field validator.

Inherits From: [`Validator`](https://docs.cloud.google.com/appengine/docs/standard/python3/reference/services/bundled/google/appengine/api/validation/Validator), [`expected_type`](https://docs.cloud.google.com/appengine/docs/standard/python3/reference/services/bundled/google/appengine/api/validation/Validator/expected_type)

    google.appengine.api.validation.Repeated(
        constructor, default=None
    )

Indicates that attribute is expected to be a repeated value, ie,
a sequence. This adds additional validation over just `Type(list)`
in that it retains information about what can be stored in the list by
use of its constructor field.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `constructor` | Type used for verifying elements of sequence attribute. |

<br />

## Child Classes

[`class expected_type`](https://docs.cloud.google.com/appengine/docs/standard/python3/reference/services/bundled/google/appengine/api/validation/Validator/expected_type)

## Methods

### `CheckFieldInitialized`

[View source](https://github.com/GoogleCloudPlatform/appengine-python-standard/tree/main/src/google/appengine/api/validation.py#L1400-L1411)

    CheckFieldInitialized(
        value, key, obj
    )

Check for missing fields or conflicts between fields.

Default behavior performs a simple `None`-check, but this can be overridden.
If the intent is to allow optional fields, then use the `Optional` validator
instead.

<br />

<br />

<br />

| Args ||
|---|---|
| `value` | Value to validate. |
| `key` | Name of the field being validated. |
| `obj` | The object to validate against. |

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValidationError` | When there are missing or conflicting fields. |

<br />

### `GetWarnings`

[View source](https://github.com/GoogleCloudPlatform/appengine-python-standard/tree/main/src/google/appengine/api/validation.py#L722-L738)

    GetWarnings(
        value, key, obj
    )

Return any warnings on this attribute.

Validates the value with an eye towards things that aren't fatal problems.

<br />

<br />

<br />

| Args ||
|---|---|
| `value` | Value to validate. |
| `key` | Name of the field being validated. |
| `obj` | The object to validate against. |

<br />

<br />

<br />

| Returns ||
|---|---|
| A list of tuples (context, warning) where <br /> - Context is the field (or dotted field path, if a sub-field) - Warning is the string warning text ||

<br />

### `ToValue`

[View source](https://github.com/GoogleCloudPlatform/appengine-python-standard/tree/main/src/google/appengine/api/validation.py#L707-L720)

    ToValue(
        value
    )

Convert `value` to a simplified collection or basic type.

Subclasses of `Validator` should override this method when the dumped
representation of `value` is not a simple `<type>(value)` (e.g., a regex).

<br />

<br />

<br />

| Args ||
|---|---|
| `value` | An object of the same type that was returned from `Validate()`. |

<br />

<br />

<br />

<br />

| Returns ||
|---|---|
| An instance of a builtin type (e.g., int, str, dict, etc). By default it returns `value` unmodified. ||

<br />

### `Validate`

[View source](https://github.com/GoogleCloudPlatform/appengine-python-standard/tree/main/src/google/appengine/api/validation.py#L1374-L1398)

    Validate(
        value, key
    )

Do validation of sequence.

Value must be a list and all elements must be of type `constructor`.

<br />

<br />

<br />

| Args ||
|---|---|
| `value` | Value to validate. |
| `key` | Name of the field being validated. |

<br />

<br />

<br />

<br />

| Raises ||
|---|---|
| `ValidationError` | if value is None, not a list or one of its elements is the wrong type. |

<br />

### `__call__`

[View source](https://github.com/GoogleCloudPlatform/appengine-python-standard/tree/main/src/google/appengine/api/validation.py#L673-L675)

    __call__(
        value, key='???'
    )

Main interface to validator is call mechanism.