Come posso verificare se la risposta che l'utente ha digitato è unica nell'invio del modulo?

0

Quindi, ho un modulo che ha domande di sicurezza e campi di testo affinché l'utente possa digitare la risposta. Voglio impedire all'utente di digitare la stessa risposta per ogni domanda di sicurezza selezionata. Quindi mi chiedo, se c'è un attributo .NET che posso usare per fare la convalida sul lato client o sull'approccio lato server che impedirebbe l'invio di risposte duplicate. Ogni risposta che l'utente digita deve essere unica.

Quindi, come posso verificare se la risposta che l'utente ha digitato è unica nell'invio del modulo?

Sto usando ASP.NET MVC 4

    
posta Kala J 25.06.2015 - 20:08
fonte

2 risposte

1

La tua scommessa migliore è probabilmente avere un componente di convalida personalizzato creato per questo scopo. È riutilizzabile una volta implementato e segue lo schema dei validatori utilizzati per MVC4.

Aggiunta di Validatore personalizzato per MVC4

Per verificare l'unicità:

In C #:

  1. Ottieni tutti i valori di input nelle caselle di testo in una raccolta.
  2. Verifica se la lunghezza dei valori univoci è uguale alla lunghezza della raccolta: bool cintainsDuplicates = items.Distinct().Count() != items.Length;

In Javascript se si sceglie di creare un validatore personalizzato:

  1. Uguale, ottieni tutti i valori in una raccolta, probabilmente per classe sarà assegnato a tutte le scatole di quel tipo.
  2. Utilizza qui una delle soluzioni suggerite per verificare i duplicati: Risultati della ricerca Google
risposta data 25.06.2015 - 20:39
fonte
-1

Penso che l'uso di Compare risolverà il tuo problema. Puoi provare a utilizzare un'equazione in cui puoi assicurarti che l'input dell'utente sia! = Alle domande che hai già.

    
risposta data 28.07.2015 - 15:42
fonte

Leggi altre domande sui tag