# Validación de registros

### Validación de registros

El sistema permite asignar un set de reglas de validación y un set de reglas de mejoras para cada plantilla.

Hemos desarrollado un sistema de pseucódigo para simplificar la creación de las reglas.

Las reglas permiten acceder a los campos y subcampos marc y además a otros elementos del sistema.

ejemplos de reglas.

<details id="bkmrk-020%24a-o-0-%2A-isisbn-e"><summary>020$a O 0 \* isISBN</summary>

El subcampo `$a` del campo `020` (que contiene el número ISBN) es **opcional**. Puede aparecer desde **cero** hasta un número **ilimitado** de veces en un registro. **Si** aparece, su contenido **debe** ser validado para asegurar que es un **formato de ISBN válido**.

</details><details id="bkmrk-%3Aifpresent%28856%24u%29-85"><summary>:ifpresent(856$u) 856$z R 1 \*</summary>

En caso de estar presente el campo 856 y su subcampo u se evalúa como obligatorio (R) el campo 856^z con al menos una ocurrencia.

</details>Cada regla tiene su documentación en el sistema y además se puede utilizar para validar en tiempo real (durante la edición o posteriormente)

```ini
# ISBN - opcional, validar formato ISBN
020$a O 0 * isISBN
# ISSN - opcional, validar formato ISSN
022$a O 0 * isISSN
# el sistema debe por lo menos aportar dos términos de búsqueda. 650 / 653 u otros que generen claves topic.
@topic R 2 * notEmpty 
```

Ejemplo completo [rules.txt](https://docs.apps.sid.uncu.edu.ar/attachments/23)

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/AJVphsF7m98" width="560"></iframe>

##### Funciones especiales

##### Contar adjuntos 

Definición @id R 1 1 checkadjunto(1)

cuenta los adjuntos y lo compara con el parámetro, en este caso es válido si encuentra al menos 1 adjunto.

##### Contar adjuntos marcados como públicos

Definición @id R 1 1 checkadjuntopublico(1)

cuenta los adjuntos marcados como públicos y lo compara con el parámetro, en este caso es válido si encuentra al menos 1 adjunto.

### Preguntas Frecuentes

- ¿Cómo mostrar todos los registros con error en una colección? 
    - Usando el browser de colección desde el listado de colecciones habilitadas hay un filtro específico para mostrar los registros marcados con error.   
        
        - [![image.png](https://docs.apps.sid.uncu.edu.ar/uploads/images/gallery/2025-04/scaled-1680-/HtcAs9kZFM7GHlkl-image.png)](https://docs.apps.sid.uncu.edu.ar/uploads/images/gallery/2025-04/HtcAs9kZFM7GHlkl-image.png)
- ¿Cuándo se validan los registros?   
    
    - Cada vez que se graban y cada vez que se modifican las reglas de validación de la plantilla
- ¿Cuántos registros tengo con errores y cuantos correctos?   
    
    - Hacer la búsqueda con el browser de colección y mirar los totales. Desde la administración tenemos la posibilidad de poner un contador de correcciones, (pendiente).