So cosa è il plugin di convalida jQuery. So che la libreria jQuery Unobtrusive Validation è stata creata da Microsoft ed è inclusa nel framework MVC di ASP.NET. Ma non riesco a trovare una singola fonte online che spieghi di cosa si tratta. Qual è la differenza tra la libreria di convalida jQuery standard e la versione "non invadente"?Che cos'è jQuery Convalida discreta?
risposta
Brad Wilson ha un paio di fantastici articoli su unobtrusive validation e unobtrusive ajax.
Viene anche mostrato molto bene in questo Pluralsight video nella sezione "AJAX e JavaScript".
In sostanza, si tratta semplicemente di convalida JavaScript che non inquina il codice sorgente di con il proprio validazione del codice. Questo viene fatto usando gli attributi data-
in HTML.
Puoi dirci quali sono i miglioramenti apportati a mvc3 per le convalide non intrusive? – wwcdwdcw
Il link al video è rotto. –
Grazie @MishaMoroshko per averlo indicato. Per ora non sono riuscito a trovare alternative su Pluralsight, quindi ho rimosso il link. Modificherò di nuovo il post non appena avrò un sostituto. – bertl
Con il modo discreto:
- Non c'è bisogno di chiamare il metodo validate().
- Si specifica esigenze utilizzando gli attributi di dati (data-val, data-val-required, ecc)
Jquery Convalida Esempio:
<input type="text" name="email" class="required">
<script>
$(function() {
$("form").validate();
});
</script>
Jquery Convalida discreto Esempio:
<input type="text" name="email" data-val="true"
data-val-required="This field is required.">
<div class="validation-summary-valid" data-valmsg-summary="true">
<ul><li style="display:none"></li></ul>
</div>
Grazie, stavo cercando di Ctrl-F per trovare la chiamata a valdiate() in un codice su cui dovevo lavorare. Mi chiedevo perché non potevo trovarlo – bio595
molto orecchiabile, grazie –
jQuery Validation Native discreto è una collezione di estensioni helper ASP.Net MVC HTML. Questi fanno uso del supporto nativo di jQuery Validation per la convalida guidata da attributi di dati HTML 5. Microsoft ha restituito jquery.validate.unobtrusive.js con MVC 3. Ha fornito un modo per applicare convalide del modello di dati al lato client utilizzando una combinazione di attributi di convalida jQuery e HTML 5 (questa è la parte "non invadente").
Per chiarimenti, ecco un esempio più dettagliato che dimostra la convalida del modulo utilizzando jQuery Validation Unobtrusive.
Entrambi utilizzano la seguente JavaScript con jQuery:
$("#commentForm").validate({
submitHandler: function(form) {
// some other code
// maybe disabling submit button
// then:
alert("This is a valid form!");
// form.submit();
}
});
Le principali differenze tra i due plugin sono gli attributi utilizzati per ogni approccio.
jQuery convalida
sufficiente utilizzare i seguenti attributi:
- set richiesto se necessario
- tipo Set per la formattazione corretta (e-mail, etc.)
- Impostare le altre caratteristiche come ad esempio dimensione (lunghezza minima, ecc.)
Ecco il modulo ...
<form id="commentForm">
<label for="form-name">Name (required, at least 2 characters)</label>
<input id="form-name" type="text" name="form-name" class="form-control" minlength="2" required>
<input type="submit" value="Submit">
</form>
jQuery convalida discreto
sono necessari i seguenti attributi di dati:
- dati-msg-required = "Ciò è necessario"
- dati-regola-required = "true/false"
Ecco il modulo ...
<form id="commentForm">
<label for="form-x-name">Name (required, at least 2 characters)</label>
<input id="form-x-name" type="text" name="name" minlength="2" class="form-control" data-msg-required="Name is required." data-rule-required="true">
<input type="submit" value="Submit">
</form>
Sulla base di uno di questi esempi, se sono stati riempiti i campi del modulo che sono necessari e soddisfano i criteri degli attributi aggiuntivi, quindi viene visualizzato un messaggio che notifica che tutti i campi modulo sono convalidati. In caso contrario, sarà presente del testo vicino ai campi del modulo in questione che indica l'errore.
Riferimenti: - jQuery convalida: https://jqueryvalidation.org/documentation/
- 1. Convalida personalizzata/condizionale discreta con Fluent Validation
- 2. ASP .Net MVC 3: convalida discreta personalizzata
- 3. ASP.NET MVC 3 convalida discreta, invio e TinyMCE
- 4. La validazione discreta di Jquery funziona molto lentamente ASP.Net MVC3
- 5. asp.net 4.5 Web Forms Validazione discreta jQuery Edizione
- 6. jQuery convalida discreta ignora il messaggio di data-val-richiesto in MVC3
- 7. RequiredAttribute con AllowEmptyString = true in ASP.NET MVC 3 convalida discreta
- 8. jQuery Convalida convalida personalizzata che non aggiunge validazione dello spazio
- 9. Jquery Convalida Jquery
- 10. Convalida discreta MVC3: come rimuovere/riattaccare la convalida da un gruppo di elementi?
- 11. Convalida jQuery - Sovrascrittura metodo di convalida nucleo
- 12. JQuery - Convalida modulo - Onblur
- 13. jQuery Convalida messaggi personalizzati
- 14. jQuery convalida meno di
- 15. derivata discreta in SQL
- 16. Jquery-Mobile: convalida
- 17. Trasformata di Fourier discreta
- 18. Ottimizzazione discreta in python
- 19. ASP.NET come ValidationGroup che utilizza il plugin di convalida JQuery?
- 20. Convalida personalizzata JQuery e HTML5 che non funziona come previsto
- 21. Trasformata di Fourier discreta che fornisce risultati errati
- 22. JQuery convalida dinamicamente aggiungere regole
- 23. Convalida del tempo con Jquery
- 24. jQuery convalida su più campi
- 25. interrogazione jQuery personalizzato convalida prezzo
- 26. positivo convalida numero in jQuery
- 27. convalida jquery non addMethod lavoro
- 28. jQuery Convalida a modifica scheda
- 29. Convalida Jquery per convalidare l'URL
- 30. jQuery Plugin Convalida - Convalida Campo nascosto per nome
convalida unobstrusive aggiungerà data-val -... attributi nel codice HTML, in modo da poter leggere la validazione, anche nel codice HTML. –
Credo che la risposta alla tua domanda sia spiegata qui: http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html Egli spiega la differenza tra ciò che accade quando Lo strabico è acceso o spento. – Tommy