regole di gestione applicate a un insieme di checkbox, pulsanti di opzione o campi modulo

1

Mi sono interrogato sulle applicazioni che hanno una serie di checkbox o pulsanti radio, persino raccolte di campi modulo nella loro interfaccia utente.

In questo momento sto gestendo tutte le scelte separatamente, ma ovviamente questo diventa un disastro completo molto rapidamente. Ci deve essere un modo stabilito per affrontare questo che non conosco.

Se la casella di controllo a è deselezionata, allora le caselle da d a sono abilitate ecc. ecc.

Come dovrei avvicinarmi a questo? Ovviamente non nell'interfaccia utente, questo è sicuro. Mi piacerebbe conoscere alcuni approfondimenti e best practice oltre a potenziali insidie.

(BTW: Ho taggato questo "motore delle regole" perché non ho idea di cosa etichettare. Non esitare a modificare la domanda, ritoccare e rimuovere questa linea.)

    
posta Wim Ombelets 12.02.2013 - 16:05
fonte

1 risposta

1

Ho creato un sito di e-commerce con un set complicato di configurazioni di prodotto. Quando l'utente è passato alla pagina di configurazione del singolo prodotto, ha dovuto caricare le opzioni disponibili, abilitare / disabilitare i controlli in base alle scelte effettuate e aggiornare il prezzo al volo.

Il modello dati memorizza tutte le opzioni possibili per ogni prodotto. Ho scritto una classe ConfigurationEngine che conteneva la logica per tutte le combinazioni consentite (molti casi semplici erano memorizzati nel DB, altri dovevano essere codificati). Quando l'utente ha apportato modifiche alla pagina di configurazione del prodotto, ho effettuato una chiamata AJAX. Il server metterebbe insieme l'oggetto prodotto con la sua configurazione selezionata e lo passerà attraverso ConfigurationEngine. Il prodotto è uscito validato e valutato. Un'altra funzione sul motore potrebbe dirci quali restanti opzioni erano ancora disponibili. Il prezzo del prodotto, i messaggi di convalida e le restanti opzioni disponibili sono stati quindi restituiti al front-end in risposta alla chiamata AJAX.

    
risposta data 12.02.2013 - 16:27
fonte

Leggi altre domande sui tag