Εμφάνιση 1-6 από 6
  1. #1
    Εγγραφή
    18-01-2008
    Περιοχή
    Αθήνα
    Ηλικία
    45
    Μηνύματα
    35
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL OTE
    Ταχύτητα
    2048/256
    ISP
    Conn-x OTE
    DSLAM
    ΟΤΕ - ΓΛΥΚΑ ΝΕΡΑ
    Router
    Philips CGA5722N/TE wire
    SNR / Attn
    31(dB) / 17(dB)
    Καλημέρα.

    Χρειάζομαι λίγη βοήθεια σε ένα πρόβλημα που έχω εδώ και λίγο καιρό στο οποίο δεν μπορώ να βρω λύση, έχω πραγματικά κολλήσει...

    Έχω ένα web application σε ASP.NET, το οποίο χρησιμοποιεί μια Master Page, με το οποίο γίνεται distribution κάποιων reports σε ένα intranet...

    Θέλω να χρησιμοποιήσω ένα Custom Validator για να ελέγξω τα δεδομένα που καταχωρούν οι χρήστες σε δύο text boxes τα οποία παίρνουν ημερομηνίες...To validation είναι πολύ απλό, θέλω απλά η τιμή του δεύτερου textbox να είναι μεγαλύτερη ή ίση με την τιμή του πρώτου textbox.

    Σε πρώτη φάση σε μια τεστ σελίδα, έγραψα ένα script σε javascript το οποίο παίζει κανονικά όταν το συνδέω με το OnClientClick event ενός button...

    Το script είναι αυτό:

    Κώδικας:
    function CheckDate() {
    
        var stDate = document.form1.tbDateFrom.value;
        var endDate = document.form1.tbDateTo.value;
    
        var dt1 = stDate.substring(0, 2);
        var mn1 = stDate.substring(3, 5);
        var yr1 = stDate.substring(6, 10);
    
        var dt2 = endDate.substring(0, 2);
        var mn2 = endDate.substring(3, 5);
        var yr2 = endDate.substring(6, 10);
    
        var date1 = parseInt(yr1 + mn1 + dt1, 10);
        var date2 = parseInt(yr2 + mn2 + dt2, 10);
    
        if (date1 > date2) {
            alert("Έχετε καταχωρήσει λάθος ημερομηνία. Παρακαλώ προσπαθήστε ξανά.");
            return false;
        }
        else {
            return true;
        } 
    }
    Το πρόβλημα αρχίζει όταν προσπαθώ να περάσω το script στην κανονική σελίδα...
    Εκεί όχι μόνο δε παίζει όταν απλά προσπαθώ να το τεστάρω με το ίδιο τρόπο όπως στην τεστ σελίδα αλλά ούτε στον CustomValidator παίζει...

    Ή δεν παίζει καθόλου ή σκάει βγάζοντας λάθη για "object required" ή "not defined object"...
    Δοκίμασα διάφορα που βρήκα στο internet όπως τα ASP.Net Inline Tags αλλά πάλι δεν κατάφερα τίποτα, προφανώς κάτι κάνω λάθος...

    Παιδιά, όποιος ξέρει και θέλει ας δώσει μια βοήθεια, είμαι εντελώς newb στην javascript...

  2. #2
    Εγγραφή
    05-12-2006
    Ηλικία
    48
    Μηνύματα
    890
    Downloads
    3
    Uploads
    0
    Τύπος
    ADSL2+ HOL Full
    Ταχύτητα
    6144/1024
    ISP
    HOL
    DSLAM
    HOL - ΚΝΩΣΣΟΣ
    SNR / Attn
    19.5(dB) / 34.5(dB)
    Δεν χρειάζεται να γράψεις javascript. Το κάνει το .net για σένα

    Κώδικας:
       <asp:TextBox ID="date1" runat="server"></asp:TextBox>
            <asp:CompareValidator ID="valdate1" runat="server" EnableClientScript="true"
                ControlToValidate="date1" Display="Dynamic" ErrorMessage="Δώσε ημερομηνία" 
                Operator="DataTypeCheck" Type="Date"></asp:CompareValidator>
            <br />
            <asp:TextBox ID="date2" runat="server"></asp:TextBox>
            <asp:CompareValidator ID="valdate2" runat="server" 
                ControlToValidate="date2" Display="Dynamic" ErrorMessage="Δώσε ημερομηνία" EnableClientScript="true"
                Operator="DataTypeCheck" Type="Date"></asp:CompareValidator>
            <br />
            <asp:CompareValidator ID="CompareValidator3" runat="server" 
                ControlToCompare="date1" ControlToValidate="date2" Display="Dynamic" EnableClientScript="true"
                ErrorMessage="Η δεύτερη ημερομηνία πρέπει να είναι μεγαλύτερη από την πρώτη" Operator="GreaterThan" Type="Date"></asp:CompareValidator>
    εκτός από ροζ υπάρχουν και άλλα χρώματα??

  3. #3
    Εγγραφή
    18-01-2008
    Περιοχή
    Αθήνα
    Ηλικία
    45
    Μηνύματα
    35
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL OTE
    Ταχύτητα
    2048/256
    ISP
    Conn-x OTE
    DSLAM
    ΟΤΕ - ΓΛΥΚΑ ΝΕΡΑ
    Router
    Philips CGA5722N/TE wire
    SNR / Attn
    31(dB) / 17(dB)
    Φίλε agmarios, καταρχάς ευχαριστώ που μπήκες στον κόπο να απαντήσεις...

    Το ξέρω ότι υπάρχει ο Compare Validator και το έχω ήδη χρησιμοποιείσει στην σελίδα μου...
    To πρόβλημα είναι ότι επειδή υπάρχει κι άλλος ένας validator ο οποίος ελέγχει την ορθότητα της ημερομηνίας που εισάγει ο χρήστης, υπάρχει μια περίπτωση όπου αν ο χρήστης κάνει δύο διαδιχικά λάθη, δηλαδή λάθος ημερομηνία και μικρότςερη ημερομηνία, τότε γίνονται fire και οι δύο validators και αυτό δεν το θέλω γι' αυτό και θέλω να χρησιμοποιήσω ένα custom validator για να συνδυάσω και τα δύο constraints σε ένα...Το πρόβλημα είναι ότι δεν έχω καταφέρει να κάνω να δουλέψει με custom validator ούτε καν τον ένα περιορισμό...

  4. #4
    Εγγραφή
    05-12-2006
    Ηλικία
    48
    Μηνύματα
    890
    Downloads
    3
    Uploads
    0
    Τύπος
    ADSL2+ HOL Full
    Ταχύτητα
    6144/1024
    ISP
    HOL
    DSLAM
    HOL - ΚΝΩΣΣΟΣ
    SNR / Attn
    19.5(dB) / 34.5(dB)
    θα σου πρότεινα να αποφύγεις την custom javascript. Καλύτερα να επιμείνεις στους validators. Για custom validator υπάρχει πολύ υλικό στο SDK αλλά και στο web
    εκτός από ροζ υπάρχουν και άλλα χρώματα??

  5. #5
    Εγγραφή
    13-02-2007
    Περιοχή
    Χαλάνδρι
    Ηλικία
    41
    Μηνύματα
    2.759
    Downloads
    3
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    99999/9997
    ISP
    ΟΤΕ Conn-x
    Router
    Speedport W 724V
    SNR / Attn
    10.2(dB) / 6.5(dB)
    Validate κάνεις σε server controls; Δοκίμασε κάτι τέτοιο:

    Κώδικας:
    var stDate = getElementById("<%= tbDateFrom.ClientID %>").value;
    var endDate = getElementById("<%= tbDateTo.ClientID %>").value;
    Επίσης βεβαιώσου οτι βάζεις το script στο header, εαν δεν έχεις ήδη βάλε ενα placeholder στο head tag του masterpage, πχ

    Κώδικας:
    <asp:ContentPlaceHolder ID="head" runat="server" />
    και βάλε το script στο αντίστοιχο content της child.

    Κώδικας:
    <asp:Content ContentPlaceHolderID="head" runat="Server">
        ...script tag...
    </asp:Content>


    I don't care if we have only one percent of the users, as long as they're the best one percent.
    It's a clear choice for quality over quantity, and originality over following the herd. I like that.

  6. #6
    Εγγραφή
    18-01-2008
    Περιοχή
    Αθήνα
    Ηλικία
    45
    Μηνύματα
    35
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL OTE
    Ταχύτητα
    2048/256
    ISP
    Conn-x OTE
    DSLAM
    ΟΤΕ - ΓΛΥΚΑ ΝΕΡΑ
    Router
    Philips CGA5722N/TE wire
    SNR / Attn
    31(dB) / 17(dB)
    Καλημέρα.

    Τα έχω δοκιμάσει αυτά που μου λες...

    Δυστυχώς δεν πέτυχα κάτι...

    Το πρόβλημά μου είναι κυρίως πρόβλημα λογικής του πως δουλέυει η σελίδα...

    Όταν ο χρήστης πληκτρολογήσει μια λάθος ημερομηνία και στο καπάκι βάλει στο δεύτερο textbox μια ημερομηνία μικρότερη από αυτή στο πρώτο textbox τότε ενεργοποιούνται και οι δύο validators...εγώ δεν το ήθελα αυτό, ήθελα να ενεργοποιείται ένας validator κάθε φορά, σύμφωνα με το τελευταίο λάθος που προκύπτει, η λειτουργία ως έχει μέχρι τώρα πάντως δεν είναι λάθος...

    Μάλλον θα το αφήσω ως έχει, έτσι κι αλλιώς χρησιμοποιώ calendar και η επιλογή των ημερομηνιών γίνεται και αυτόματα και η ενεργοποίηση και των δύο validators γίνεται ουσιαστικά σε μία περίπτωση, είναι ψιλοσπάνιο...

    Anyway, είδωμεν...

    Ευχαριστώ πολύ και τους δύο για την συνεισφορά σας!!!

Παρόμοια Θέματα

  1. Σελίδα Asp.net Πίνακας με περιεχόμενα από βάση
    Από equilibriumg στο φόρουμ Web authoring, development & web design
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 16-11-09, 12:05
  2. κατέβασμα βίντεο από asp σελίδα
    Από ktiniatros στο φόρουμ Internet, web surfing και online υπηρεσίες
    Μηνύματα: 8
    Τελευταίο Μήνυμα: 03-01-07, 01:04
  3. ASP.NET
    Από spartacus στο φόρουμ Windows
    Μηνύματα: 2
    Τελευταίο Μήνυμα: 11-12-06, 11:41

Tags για αυτό το Θέμα

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας