---
name: CRUDField
lang: go
domain: infra
version: "1.0.0"
algebraic: product
definition: |
  type CRUDField struct {
      Name        string
      Type        string
      Required    bool
      Unique      bool
      Default     string
      Validations map[string]string
  }
description: "Define un campo de un recurso CRUD con su tipo SQLite, constraints y validaciones. Se agrega al slice Fields de CRUDResource."
tags: [crud, field, sqlite, validation, rest, infra]
uses_types: []
file_path: "functions/infra/crud_resource.go"
---

## Ejemplo

```go
field := CRUDField{
    Name:     "name",
    Type:     "TEXT",
    Required: true,
    Unique:   true,
    Validations: map[string]string{
        "min_length": "1",
        "max_length": "100",
    },
}
```

## Notas

Tipo producto. Type debe ser uno de: TEXT, INTEGER, REAL, BLOB. Default es SQL literal (por ejemplo "'active'" o "0"). Validations es un mapa generico con claves: min_length, max_length, pattern (TEXT), min, max (INTEGER/REAL), enum ("a,b,c" para TEXT). Las validaciones se evaluan en Go antes de cada INSERT/UPDATE.
