# How field validations work

A field validation is a condition and a result. While an item's values match the condition, the item shows the result: a level and a message. When the values stop matching, the result goes away.

The result is worked out again after every change, in the browser. It is not saved on the item.

## Where a result shows

- Item page: the results, listed directly above the fields, and a mark beside the field that owns the rule.
- Rows and cards: one mark for the most severe level, with every message when you point at it.
- Views: the **Validation** filter and the **Validation** column. Both appear once at least one field has a validation.

The levels, from most severe: **Error**, **Warning**, **Info**, **Success**.

## Which items a rule checks

A rule checks every item whose type carries the field that owns the rule. A condition can also test the item's type, or the values of its direct children.

A result stays hidden from a person who cannot read the field that owns the rule, or any field its condition reads. A rule that tests children stays hidden from a person who cannot read every type, or every field it reads on every type.

## Example

A rule on **Estimate** has the condition "**Status** is **Done** and **Estimate** is empty". The level is **Error**, and the message is "Estimate before closing". A task moved to **Done** with no estimate shows the error. The error goes away when someone enters an estimate.

## Things that may surprise you

- **A result never blocks a change.** A person can save an item that shows an error. Imports and the public API are not refused either.
- **A zero counts as empty.** For "is empty", a number `0` and an unticked checkbox both match.
- **A condition reads the item's own values.** A value shown from a parent does not count. A total summed from the children does not count either, so a parent with no estimate of its own is empty. Formula values do not count.
- **A rule that is switched off shows nothing.** It stays in the list until you delete it.

## Next

- [How do I flag items that need attention?](../../types-and-fields/flag-items-with-field-validations/)
- [What is a field?](../../types-and-fields/what-is-a-field/)
