Ergebnis 1 bis 5 von 5
  1. #1
    EvilBen ist offline Doppel-As
    registriert
    30-08-2015
    Beiträge
    105

    Formvalidation

    Huhu liebes Forum,

    ich hänge an nem kleinen Problemchen fest. Hoffe ihr könnt mir weiterhelfen.

    Ich baue gerade mit dem Bootstrap Formvalidator ein Registrierungsformular. Die Registrierung soll nur Usern Ü18 zustehen.
    Nun habe ich es so gemacht:

    Man gibt sein Geburtsdatum ein (TT.MM.JJJJ), JS errechnet das Alter und füllt ein Hidden Feld mit dem Alter. So weit so gut. Nun erkennt das Script des Validators jedoch nicht, dass etwas in das Hidden Feld eingegeben wurde, ergo wird auch keine Fehlermeldung ausgegeben wenn ein Alter U18 angegeben wird.
    Gebe ich das Alter manuell ein, funktioniert alles 1A !

    Hier der Code des Validators:

    Code:
      $(document).ready(function() {
        $('#reg_form').bootstrapValidator({
            // To use feedback icons, ensure that you use Bootstrap v3.1.0 or later
            feedbackIcons: {
                //valid: 'glyphicon glyphicon-ok',
                invalid: 'glyphicon glyphicon-remove',
                validating: 'glyphicon glyphicon-refresh'
            },
            fields: {
                vorname: {
                    validators: {
                            stringLength: {
                            min: 3,
    						message: 'Dein Vorname ist zu kurz'
                        },
                            notEmpty: {
                            message: 'Gebe deinen Vornamen ein'
                        }
                    }
                },
                 nachname: {
                    validators: {
                         stringLength: {
                            min: 3,
    						 message: 'Dein Nachname ist zu kurz'
                        },
                        notEmpty: {
                            message: 'Gebe deinen Nachnamen ein'
                        }
                    }
                },
                email: {
                    validators: {
                        notEmpty: {
                            message: 'Gebe deine Email an'
                        },
                        emailAddress: {
                            message: 'Gebe eine gültige Email an'
                        }
                    }
                },
    			passwort: {
                    validators: {
                        notEmpty: {
                            message: 'Wähle ein Passwort'
                        },
                        stringLength: {
                            min: 6,
    						message: 'Wähle ein längeres Passwort'
                        }
                    }
                },
    			birthday: {
    				validators: {
    					notEmpty: {
    						message: 'Gebe dein Geburtsdatum an'
    					}
    				}
    			},
    			alter:{
    				validators: {
    					greaterThan: {
    					value: 18,
    					message: 'Du musst mindestens 18 Jahre alt sein'
    					}
    				}
    			}
                }
            })
            .on('success.form.bv', function(e) {
                $('#success_message').slideDown({ opacity: "show" }, "slow") // Do something ...
                    $('#reg_form').data('bootstrapValidator').resetForm();
    
                // Prevent form submission
                e.preventDefault();
    
                // Get the form instance
                var $form = $(e.target);
    
                // Get the BootstrapValidator instance
                var bv = $form.data('bootstrapValidator');
    
                // Use Ajax to submit form data
                $.post($form.attr('action'), $form.serialize(), function(result) {
                    console.log(result);
                }, 'json');
            });
    });
    kann ich vielleicht mit JS einfach simulieren, dass eine Taste gedrückt wurde?

    Hier der Code, der das Alter füllt:

    Code:
    var alter = "";
         $('#birthday').keyup(function(e){
          alter = document.getElementById('birthday').value;
             var birth = alter.split(".");
           
             var day = birth[0];
             var month = birth[1];
             var year = birth[2];
               var today = new Date();
                                    var birthdate = new Date(year, month, day);
                                    var age = today.getFullYear() - birthdate.getFullYear();
                                    var m = today.getMonth() - birthdate.getMonth();
                                    if (m < 0 || (m === 0 && today.getDate() < birthdate.getDate())) {
                                            age--;
                                    }
           
             if(age < 100){
                document.getElementById('alter').value = age;
             }
         });

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.706

    AW: Formvalidation

    hi!
    Warum im forum ajax?
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    EvilBen ist offline Doppel-As
    registriert
    30-08-2015
    Beiträge
    105

    AW: Formvalidation

    oh sorry verzwickt offensichtlich -> kann es verschoben werden?

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.706

    AW: Formvalidation

    * verschoben aus ajax *
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  5. #5
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.695

    AW: Formvalidation

    Du könntest mal probieren, ob $('#alter').keypress(); funktioniert.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •