TOPIC:

Aw: Datum Validieren 8 years 4 months ago #71359

  • enserk
  • Offline
  • Junior Breezer
  • Junior Breezer
  • Posts: 75
  • Thanks: 0
Ok; den Namen habe ich auf jeden Fall berücksichtigt!
Also so wie es bei mir aussieht macht das Script Garn nichts :(
ganz egal was ich eingebe, es kommt keine Meldung und wird auch nichts verändert B)
das Script kann auf Textfelder als auch auf Kalender angewendet werden oder?

Please Log in or Create an account to join the conversation.

Aw: Datum Validieren 8 years 4 months ago #71365

  • Syno
  • Offline
  • Ultimate Breezer
  • Ultimate Breezer
  • Posts: 2186
  • Karma: 3
  • Thanks: 209
Hi,

also ich hab das Script mal getestet und anfangs war es bei mir auch so "das macht nix!"

Dann hab ich einfach mal eine Fehlermeldung hinzugefügt, also in den Element Optionen, und siehe da es funktioniert.

Also unabhängig von den Meldungen die im Script selber definiert sind, muss die Fehlermeldung in den Element Optionen definiert sein.

Gruß,
Syno

Please Log in or Create an account to join the conversation.

Aw: Datum Validieren 8 years 4 months ago #71374

  • enserk
  • Offline
  • Junior Breezer
  • Junior Breezer
  • Posts: 75
  • Thanks: 0
hab das nun auch versucht. (bei den Fehlermeldungen was hineingeschrieben ... :(wenn ich nun das Datum irgendwie eingebe, kommt nur die Meldung die ich eingegeben habe. also der user kennt sich dann nicht wirklich aus, warum das Datum nicht genommen wird... wenn ich alles korrekt eingebe funktionierst auch. (aber ich denke mal, dass da ja ach Mitteilungen ausgegeben werden sollten oder?)

Please Log in or Create an account to join the conversation.

Last edit: Post by enserk.

Aw: Datum Validieren 8 years 4 months ago #71379

  • Syno
  • Offline
  • Ultimate Breezer
  • Ultimate Breezer
  • Posts: 2186
  • Karma: 3
  • Thanks: 209
Hallo,

also ich habe mir das Script nochmal angeschaut und es war wirklich so das da keine bestimmten Fehlermeldungen definiert waren. Es wurde immer die aus den Element Optionen genommen.

Ich hab das ganze jetzt mal ein wenig überarbeitet und Fehlermeldungen eingebaut die etwas aussagekräftiger sind.
function ff_validbirthdate(element, message) {
var checkstr = "0123456789";
var DateField = element;
var DateValue = "";
var DateTemp = "";
var seperator = ".";
var day;
var month;
var year;
var leap = 0;
var err = 0;
var i;
var min_age = 18;
err = 0;

DateValue = DateField.value;
/* Entfernt alle Zeichen ausser die Zahlen 0 bis 9 */
for (i = 0; i < DateValue.length; i++) {
	if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
		DateTemp = DateTemp + DateValue.substr(i,1);
	}
}

DateValue = DateTemp;
/* Bestimmt den Monat aus dem String und korrigiert es falls das Jahr nur zweistellig eingegeben wurde (alles was grösser wie 35 ist kriegt ein 19 davor sonst 20) */
if (DateValue.length == 6 ){
	if (DateValue.substr(DateValue.length-2,DateValue.length) > 35){
		year = "19" + DateValue.substr(4,2);
	} else {
		year = "20" + DateValue.substr(4,2);
	}
} else {
	year = DateValue.substr(4,4);
}
/* Falls das Jahr nicht ein korrektes format 1999 oder 99 hat */
if (DateValue.length > 8 || DateValue.length < 6) { err = 19;}
/* Falls das Jahr unzulässig ist sprich 0000 */
if (err == 19) { ff_validationFocus(element.name); return 'Falsches Format für das Jahr'; }

/* Bestimmt den Monat aus dem String */
month = DateValue.substr(2,2);
/* Falls der Monat nicht zulässig ist sprich 00 oder 13 */
if ((month < 1) || (month > 12)) { err = 21; }
/* Bestimmt den Tag aus dem String */
day = DateValue.substr(0,2);
/* Falls der Tag nicht zulässig ist sprich 00 oder 13 */
if ((day < 1) || (day > 31)) { err = 22; }
/* Hier wird das Schaltjahr berechnet */
if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) { leap = 1; }
if ((month == 2) && (leap == 1) && (day > 29)) { err = 23; }
if ((month == 2) && (leap != 1) && (day > 28)) { err = 24; }
/* Länge der Monate wird definiert */
if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) { err = 25; }
if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) { err = 26; }
/* Wenn bisher kein Fehler, wird das eingabefeld korrekt angepasst */
if (err == 0) {
	DateField.value = day + seperator + month + seperator + year;
} else { 
	ff_validationFocus(element.name);
	return 'Falsches Format für Tag oder Monat';
}
/* Hier wird das angegebene Datum zusammengefügt und 18 jahre werden dazugerechnet */
var theirDate = new Date((Number(year) + min_age), month-1, day);
/* Heutiges Datum wird gelesen */
var today = new Date;
/* Hier wird das Alter gerechnet auf den Tag genau */
var ergeb = ((((((today.getTime() - theirDate.getTime()) / 1000)/60)/60)/24)/365.25);
/* Hier wird berechnet ob die Person ein bestimmtes alter hab (bei mir min 18 max 70 jahre */
if ((ergeb < 0.00) || (ergeb > 52.00)) {
	ff_validationFocus(element.name);
	return 'Sie haben das Falsche Alter erlaubt is 18-70 Jahre';		
	//ff_returnHome();
}

return; 
}

Ich hab jetzt nicht alles getestet aber ich hoffe es hilft dir schonmal weiter.

Gruß,
Syno

Please Log in or Create an account to join the conversation.

Aw: Re:Datum Validieren 8 years 4 months ago #71393

  • enserk
  • Offline
  • Junior Breezer
  • Junior Breezer
  • Posts: 75
  • Thanks: 0

Suli3 wrote: Hi all

Ich konnte es nicht mehr sein lassen und habe noch einige Verbesserungen hinzugefügt.
1) Trennzeichen werden automatisch erkannt sei es .,/#@ usw.
2) Es wird erkannt wenn das jahr 2 stellig eingegeben wurde und automatisch korrigiert
3) Es wird auf den Tag genau gerechnet
4) Und natürlich kann man die Volljährigkeit errechnen.

Ich hoffe ich kann jemandem helfen damit. Ich hab dabei viel gelernt :cheer:


[/code]

ok. nun kommen auch die Fehlermeldungen! :)
Eine Frage habe ich noch: im Punkt 2 steht dass das Datum wenn es 2 stetig eingegeben wird automatisch korrigiert wird; funktioniert das auch ? bei mir kommt dann immer die Meldung dass das Format nicht korrekt ist!
Dennoch schon mal ein herzliches Dankeschön für deine Unterstützung!

Please Log in or Create an account to join the conversation.

Aw: Re:Datum Validieren 8 years 4 months ago #71415

  • enserk
  • Offline
  • Junior Breezer
  • Junior Breezer
  • Posts: 75
  • Thanks: 0
habe nun ein bisschen herumprobiert (verschiedene Format - den Code Habich gleichgelassen) nun bekomme ich immer die Meldung undefined :woohoo:

Please Log in or Create an account to join the conversation.

Moderators: ForumSupport
Time to create page: 0.056 seconds

BreezingForms Pro 1.4.7 for WordPress Released!

Available in the membership section.

Summer Sale!

Massive discounts on all subscriptions!

Get Your Subscription Here

Quick Links

Downloads

BreezingForms

ContentBuilder

BreezingCommerce

Templates

Documentation

BreezingForms

ContentBuilder

BreezingCommerce

Apprendre BreezingForms (French Community)

Apprendre et maîtriser BreezingForms par des tutoriels et exemples, le tout en français

breezingforms.eddy-vh.com

Questions et réponses sur les forums de l'AFUJ

AFUJ

Special Offer

Summer Sale! All subscriptions at a special price!

Includes prio support, all of our current and future Joomla!® extensions and Joomla!® templates for the duration of your membership.

Get it from here

3rd Party Discount - 25% Off

We help you to keep your costs under control. If you are a new member and purchased a form building tool from a different form vendor, then you'll get a 25% discount on our subscription plans.

How to receive the discount:

Send us a quick email to sales@crosstec.org with a proof of purchase (for example a paypal receipt), await payment instructions and enjoy your membership!