live validation

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

live validation

Δημοσίευση από alou » 02 Αύγ 2013 12:29

Το cancel τι σημαίνει, πρακτικά? ότι δεν θέλω να γραφτώ, άρα φεύγεις από τη φόρμα? ότι γίνονται clear όλα τα πεδία και ξαναρχίζει από την αρχή?

Δεν είναι κάτι δύσκολο αυτό αρκεί να έχεις καταλήξει σε μια τελική μορφή σε όλα τα υπόλοιπα (το να κρύψεις τα στοιχεία με τάδε class είναι μισή γραμμή κώδικας).

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 02 Αύγ 2013 17:57

alou έγραψε:Το cancel τι σημαίνει, πρακτικά? ότι δεν θέλω να γραφτώ, άρα φεύγεις από τη φόρμα? ότι γίνονται clear όλα τα πεδία και ξαναρχίζει από την αρχή?
Όφειλα να πω ότι η κουβέντα δεν γίνεται μόνο για το registration αλλά και για την περίπτωση που ο χρήστης απλά θέλει να κάνει edit τις πληροφορίες που έχει καταχωρήσει στο προφίλ του.
ΈΣΤΩ ΚΑΙ ΕΤΣΙ ΟΜΩΣ, τα πράγματα δεν αλλάζουν πολύ.

Το cancel σημαίνει επι της ουσίας "όχι δεν θέλω να προχωρησω τελικά στις αλλαγές που έχω κάνει είτε αυτές είναι αλλάγή του τηλεφώνου μου είτε και εγώ δεν ξέρω τι
"
alou έγραψε: Δεν είναι κάτι δύσκολο αυτό αρκεί να έχεις καταλήξει σε μια τελική μορφή σε όλα τα υπόλοιπα (το να κρύψεις τα στοιχεία με τάδε class είναι μισή γραμμή κώδικας).
Το έφτιαξα αυτό...

Τέλος, το πρόβλημα που έχω τώρα είναι το εξής:
Όλη η φόρμα στην ουσία έχει χωριστεί σε 3-4 κομμάτια(fieldsets) που το καθένα έχει τα δικά του save/cancel κουμπιά και αντίστοιχα πεδία-contact details, personal details etc.

με το validate plugin εκ των πραγμάτων "στοχεύεις" όλη την φόρμα ενώ εγώ ανα δεδομένη στιγμή θέλω να στοχεύσω μόνο στο κομμάτι εκείνο που συμπληρώνει ο χρήστης ανα πάσα στιγμή...

Όπως το βλέπω...μάλλον πρέπει να κάνω 3-4 φόρμες ξεχωριστά για κάθε fieldset

Kοίτα εδώ: jsfiddle.net/fiddlehunt/sR7VN/

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

live validation

Δημοσίευση από alou » 02 Αύγ 2013 18:37

Δεν είναι απαραίτητο να κάνεις validate όλη τη φόρμα, ότι κομμάτι θες κάνεις ή ένα συγκεκριμένο στοιχείο.

Αν το κάθε fieldset έχει class first, second κλπ, στα αντίστοιχα buttons που έχεις για save ή cancel, θα κάνεις validate τα ('#miaForma .first΄) και αντίστοιχα ajax post μόνο αυτά, και πάει λέγοντας.

Επομένως, κάθε fieldset μπορεί να λειτουργήσει και ανεξάρτητα client side. Server side όμως, αν γίνει post χωρίς js θα πάει όλη η φόρμα πακέτο αναγκαστικά οπότε θα πρέπει να χειριστείς και αυτή την περίπτωση.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 06 Αύγ 2013 12:27

διώρθωσε με αν κάνω λάθος...αλλά το validate plugin δεν δίνει την δυνατότητα να ελέγχεις αν το value 2 πεδίων είναι τό ίδιο...αυτό για την περίπτωση που ο χρήστης πάει να αλλάξει κωδικό και βάζει τον καινούργιο σε 2 πεδία-για επαλήθευση το δεύτερο...πρέπει να γράψω δικό μου κώδικα μάλλον

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

live validation

Δημοσίευση από alou » 06 Αύγ 2013 13:48

Έχει, παράδειγμα:

Κώδικας: Επιλογή όλων

rules: {
        
        confirmpass: {
            ...
            equalTo: "#protoPedioPassword"
        }
...
},
...

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 06 Αύγ 2013 14:02

το βρήκα και εγώ...αλλά η πλοήγηση του site δεν βοηθάει καθόλου...δυσκολεύτηκα είναι η αλήθεια.

Thanks

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 06 Αύγ 2013 19:19

είμαι στο σημείο που πρέπει να ελένξω αν ο κωδικός που έχει δώσει ο χρήστης για το τωρινό password είναι σωστός...που σημαίνει "πάρε-δώσε" με την βάση.

Τι προτείνεις;

Ajax request που ελέγχει το παραπάνω ή κάτι άλλο;

Και πάλι ευχαριστώ.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

live validation

Δημοσίευση από alou » 06 Αύγ 2013 20:54

Δεν υπάρχει κάτι άλλο, απλά σκέφτεσαι πως χειρίζεσαι την απενεργοποιημένη javascript. Δηλαδή, αν γίνει κανονικά post η φόρμα, πως θα την χειριστείς.

Μια και ασχολείσαι αρκετά με το θέμα της φόρμας γενικώς, ψάξου και για csrf protection.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 09 Αύγ 2013 20:20

με το ajax request για τον έλεγχο του κωδικού στην βάση είμαστε εντάξει...

η ερώτηση όμως έχει να κάνει τώρα για το πώς μπορώ να προσθέσω error classes με όνομα της επιλογής μου όταν ένα input element δεν περνά το validation.

Το validate plugin απλώς προσθέτει μια class ονόματι error, το οποίο όμως επιθυμώ να παρακάμψω.

Βρήκα πως μπορώ να το κάνω αυτό με το highlight αλλά μόνο για ένα element...για παραπάνω δεν μπορώ...κόιτα τον κωδικα για μόνο ένα element:

[/code] highlight: function() {
$('#name').addClass('perserror');

},

Κώδικας: Επιλογή όλων


Θέλω να προσθέσω και άλλα elements στην παραπάνω λειτουργία αλλά δεν μπορω...

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 10 Αύγ 2013 08:21

Serghio έγραψε:με το ajax request για τον έλεγχο του κωδικού στην βάση είμαστε εντάξει...

η ερώτηση όμως έχει να κάνει τώρα για το πώς μπορώ να προσθέσω error classes με όνομα της επιλογής μου όταν ένα input element δεν περνά το validation.

Το validate plugin απλώς προσθέτει μια class ονόματι error, το οποίο όμως επιθυμώ να παρακάμψω.

Βρήκα πως μπορώ να το κάνω αυτό με το highlight αλλά μόνο για ένα element...για παραπάνω δεν μπορώ...κόιτα τον κωδικα για μόνο ένα element:

[/code] highlight: function() {
$('#name').addClass('perserror');

},

Κώδικας: Επιλογή όλων


Θέλω να προσθέσω και άλλα elements στην παραπάνω λειτουργία αλλά δεν μπορω...
ΠΡΟΣ ΤΟ ΠΑΡΟΝ ΞΕΧΝΑ ΤΟ ΠΑΡΑΠΑΝΩ...ΕΚΑΝΑ ΚΑΤΙ ΑΛΛΟ ΚΑΙ ΤΟ ΠΑΡΕΚΑΜΨΑ

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 13 Αύγ 2013 20:02

Eίμαι στην φάση όπου όποτε ενα input element είναι valid εμφανίζεται μηνυμα ΟΚ-σε keyup event.
Eδω είναι ο κώδικας και επίσης εκεί θα δεις και το πρόβλημα...οτι δηλαδή αν πάω να εισάγω τιμή στο δεύτερο input element(αυτό μπορεί να είναι το name ή το lastname, ανάλογα από που ξεκινάς)

το ΟΚ από το πρώτο εξαφανίζεται...κάτι που δέ θέλω βέβαια αφού ο χρήστης θέλω να γνωρίζει συνέχεια ποια inputs έχουν περάσει το validation.

Κώδικας:
jsfiddle.net/fiddlehunt/bpAAS/

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

live validation

Δημοσίευση από alou » 13 Αύγ 2013 20:57

http://jsfiddle.net/bpAAS/44/

Αλλά αυτό το παράδειγμα δεν έχει καμμία σχέση με οτιδήποτε έχουμε πει νωρίτερα και δεν ξέρω κατά πόσον θα σου χρησιμεύσει με αυτό τον τρόπο. Δεν αφαιρείς κάθε στοιχείο με class=ok αλλά μόνο αυτό που αναφέρεται στο συγκεκριμένο input, το οποίο στη συγκεκριμένη περίπτωση είναι μετά το input.

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 13 Αύγ 2013 21:08

alou έγραψε:http://jsfiddle.net/bpAAS/44/

Αλλά αυτό το παράδειγμα δεν έχει καμμία σχέση με οτιδήποτε έχουμε πει νωρίτερα και δεν ξέρω κατά πόσον θα σου χρησιμεύσει με αυτό τον τρόπο. Δεν αφαιρείς κάθε στοιχείο με class=ok αλλά μόνο αυτό που αναφέρεται στο συγκεκριμένο input, το οποίο στη συγκεκριμένη περίπτωση είναι μετά το input.
Όταν λές "με οτιδήποτε έχουμε πει νωρίτερα" εννοείς κάνοντας χρήση του validate plugin;
Ο πλήρης κώδικας είναι αυτός-sorry που δεν το παρέθεσα:

Κώδικας: Επιλογή όλων

$('input#name').keyup(function(){
      var remove=$('.OK').remove();
    if($('#formall #name').valid())
    {
        $&#40;this&#41;.after&#40;'<span class="OK">OK</span>'&#41;;
    &#125;
&#125;&#41;;
Το validate plugin δεν βγάει μυνημα σαν και αυτό που θέλω ΔΙΠΛΑ από το input element...απλώς αλλάζει την class σε valid.

Τωρα όσον αφορά το σχόλιο στο που θα μου χρησιμεύσει...πήρα αφορμή από την φόρμα εγγραφής του twitter...συν τοις άλλοις είναι κάτι(νομίζω) συνηθισμένο(λιγότερο ή περισσότερο) σε φόρμες.

Μήπως δεν κατάλαβες καλά τι θέλω να κάνω...τότε πήγαινε να δεις την φόρμα εγγραφής του twitter και ξεκίνα να την συμπλήρώνεις και παρατήρησε τα μηνύματα στα δεξιά των input elements.

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

live validation

Δημοσίευση από alou » 13 Αύγ 2013 23:55

Εννοούσα πως το συνδυάζεις με το validation, its ok.
Απλά άλλαξε αυτό:
var remove=$('.OK').remove();
σε
$(this).next('.OK').remove();

Serghio
Δημοσιεύσεις: 451
Εγγραφή: 08 Φεβ 2011 19:20
Τοποθεσία: Περιστέρι

live validation

Δημοσίευση από Serghio » 14 Αύγ 2013 20:20

alou έγραψε:Εννοούσα πως το συνδυάζεις με το validation, its ok.
Απλά άλλαξε αυτό:
var remove=$('.OK').remove();
σε
$(this).next('.OK').remove();
Λοιπόν ο παραπάνω κώδικας δουλεύει...το σχετικό fiddle είναι εδώ:
jsfiddle.net/fiddlehunt/4xhJS/

Όμως αν βάλω στο παιχνίδι το validation τα πράγματα δεν εξελίσσονται όπως πρέπει...να ο κώδικας jsfiddle.net/fiddlehunt/bpAAS/76/

ΕΠειδή όμως στο fiddle δεν μπορώ να αναπαράγω τα λάθη(δεν λειτουργεί ο κώδικας)...δεν ξέρω γιατί, έχω φτιάξει screenshots....δες τα για να καταλάβεις το πρόβλημα.


https://skydrive.live.com/redir?resid=B ... hL9Y0I&v=3

Στο παραπάνω το ΟΚ εμφανίζεται δίπλα στο μήνυμα ότι ο χρήστης δεν έχει συμπληρώσει το πεδίο...δεν είναι valid δηλαδή.



https://skydrive.live.com/redir?resid=B ... XdOC4U&v=3

δωσε μου λίγο χρόνο, κάτι προέκυψε...στον κώδικα

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης