Sono uno sviluppatore di rotaie e ho notato che mentre definisco le convalide mi trovo confuso riguardo all'ambito che sto cercando di coprire.
Ad esempio, ho casi di base in cui deve essere presente un campo di dati (es: nome, email, ecc.) o la dimensione, il formato, ecc. corretti
Questi casi sono facilmente gestiti dalle convalide di Rails esistenti.
Ma ho altri casi in cui sono richiesti dati dipendenti o determinate combinazioni di dati sono consentite / non consentite.
In questi casi potrei scrivere convalide personalizzate. Tuttavia, un "utente" dell'applicazione non deve essere esposto a un'interfaccia utente che potrebbe consentire tali tipi di errori.
Detto questo, il mio software ha un'API e se uno sviluppatore non utilizza correttamente l'API, potrebbe consentire dati errati se non aggiungo qualche tipo di vincoli al sistema, siano essi convalide o Eccezioni / Errori o qualcos'altro.
Il mio pensiero è ... le convalide hanno messaggi carini per gli utenti. Gli sviluppatori non ne hanno bisogno. Le eccezioni / errori d'altra parte hanno anche dei messaggi, ma tendono ad essere più orientati agli sviluppatori.
Quindi c'è un modo di pensare sulle "migliori pratiche" e affrontare questioni come questa che potrebbero aiutarmi a organizzare meglio il mio codice in modo che sia "più facile" estendere e separare le preoccupazioni in modo intuitivo (o almeno generalmente concordato) ?