---
description: >-
  Atomico has a really efficient and simple type validation method, the type
  validation works in the following way:
---

# Value cycle as prop

![](https://3886616710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_3P325_k_Bez-RbDQb-887967055%2Fuploads%2F4EFXJd6HEnqI3uS4EHAf%2Fprop-en.png?alt=media\&token=c0931022-6c5b-4135-9cec-cccf9b873699)

### **Cycle as attribute**:

the given value is transformed to the corresponding type, be it String, Number, Boolean, Array or Object, once transformed it is sent to the [**cycle as property**](#cycle-as-a-property).

### Cycle as property:

evaluates if the value is of the declared type:

* **If it corresponds to the type:**
  1. It is saved in props.
  2. An event is emitted (if this has been configured in the prop).
  3. It is reflected as an attribute (if this has been configured in the prop).
  4. It is sent to the update queue and subsequent rendering.
* **It does not correspond to the type**: an error is created by console with the following data:
  * **target**: Instance of the webcomponent.
  * **value**: Input value.
  * **type**: expected type.
