Formatbeschränkungen für Eingabefelder
-
- ConPresso-Experte
- Beiträge: 547
- Registriert: 04.07.2007 17:12
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 7 Mal
Formatbeschränkungen für Eingabefelder
Hallo,
wie kann ich bei mod_form die Eingabe in Felder auf richtige Formate kontrollieren?
'authormail' macht das ja schon indirekt für E-Mails.
Es wäre toll, wenn es sowas auch für Felder gäbe, in die z.B. nur Zahlen eingegeben werden dürfen, oder nur ein bestimmtes Datumsformat.
Die Liste ist vermutlich beliebig erweiterbar, aber mit einer Beschränkung auf Zahlen wäre mir momentan schon geholfen
Gruß,
dutch
wie kann ich bei mod_form die Eingabe in Felder auf richtige Formate kontrollieren?
'authormail' macht das ja schon indirekt für E-Mails.
Es wäre toll, wenn es sowas auch für Felder gäbe, in die z.B. nur Zahlen eingegeben werden dürfen, oder nur ein bestimmtes Datumsformat.
Die Liste ist vermutlich beliebig erweiterbar, aber mit einer Beschränkung auf Zahlen wäre mir momentan schon geholfen
Gruß,
dutch
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
special-check.inc.php(.dist) ist Dein Freund!
Umbenennen zu special-check.inc.php und bearbeiten. Erklärung steht in der Datei.
Umbenennen zu special-check.inc.php und bearbeiten. Erklärung steht in der Datei.
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Experte
- Beiträge: 547
- Registriert: 04.07.2007 17:12
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 7 Mal
Hallo Markus,
bei mir gibt's nur eine special-chcek.inc.php, also ohne (.dist).
In der ist alles auskommentiert.
Die einzige Beispiel-Prüfung, die dort steht ist diese:
Wie kann ich das umbauen auf Zahlen-Prüfung??
Gruß,
dutch
bei mir gibt's nur eine special-chcek.inc.php, also ohne (.dist).
In der ist alles auskommentiert.
Die einzige Beispiel-Prüfung, die dort steht ist diese:
Code: Alles auswählen
if ( trim($_REQUEST['content']['Name (text)']['text']) != '' && strlen($_REQUEST['content']['Name (text)']['text']) < 3 ) {
$form_error = true;
$message[] = 'Diese Name ist aber arg kurz!';
$_REQUEST['error']['Name (form)'] = true; // oder
$_REQUEST['error']['Name (form)'] = 'Diese Name ist aber arg kurz!';
}
Gruß,
dutch
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Wäre es nicht auskommentiert, wäre es ja keine Erklärung, sondern ausführbarer Code...
Du bräuchtest mal jemanden, der Dir PHP beibringt, oder?
Das sollte dann natürlich nicht auskommentiert sein...
Du bräuchtest mal jemanden, der Dir PHP beibringt, oder?
Code: Alles auswählen
if ( trim($_REQUEST['content']['Zahl (text)']['text']) != '' && !is_numeric($_REQUEST['content']['Zahl (text)']['text']) ) {
$form_error = true;
$message[] = 'Whoa! Je dom! Dit moet een getal zijn!';
$_REQUEST['error']['Zahl (form)'] = true;
}
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- ConPresso-Experte
- Beiträge: 547
- Registriert: 04.07.2007 17:12
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 7 Mal
Danke!
Was ein PHP Kommentar ist, weiß ich noch...
Wollte ja nur sagen, dass ich keine .dist im Verzeichnis habe, sondern eben (schon) eine ohne .dist, in der dann alles (natürlich!) auskommentiert ist...
Ansonsten ist mein PHP-Wissen sicherlich unterentwickelt, keine Frage
Auf meiner Visitenkarte steht darum auch nicht PHP-Entwickler
Wenn ich es richtig versteht, muss ich dann für jeden Feldnamen eine eigene Prüfung anlegen?
Gruß,
dutch
P.S. Nette message auf Holländisch close!
Was ein PHP Kommentar ist, weiß ich noch...
Wollte ja nur sagen, dass ich keine .dist im Verzeichnis habe, sondern eben (schon) eine ohne .dist, in der dann alles (natürlich!) auskommentiert ist...
Ansonsten ist mein PHP-Wissen sicherlich unterentwickelt, keine Frage
Auf meiner Visitenkarte steht darum auch nicht PHP-Entwickler
Wenn ich es richtig versteht, muss ich dann für jeden Feldnamen eine eigene Prüfung anlegen?
Gruß,
dutch
P.S. Nette message auf Holländisch close!
- MarkusR
- Handbuchversteher
- Beiträge: 7362
- Registriert: 01.01.1970 01:00
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 934 Mal
- Kontaktdaten:
Ja, und es lassen sich eben auch Abhängigkeiten prüfen.Wenn ich es richtig versteht, muss ich dann für jeden Feldnamen eine eigene Prüfung anlegen?
Hier mal ein paar der über die Jahre von Kunden angefragten Prüfungen:
Code: Alles auswählen
if ($_REQUEST['content']['Zahlungsweise (text)']['text'] == 'Lastschrift'
&& (
trim($_REQUEST['content']['Kontoinhaber (text)']['text'])=='' ||
trim($_REQUEST['content']['IBAN (text)']['text'])=='' ||
trim($_REQUEST['content']['BIC (text)']['text'])=='' ||
trim($_REQUEST['content']['Name und Ort der Bank (text)']['text'])=='' ||
$_REQUEST['content']['SEPA-Einverständnis (text)']['text']==''
)
) {
$form_error = true;
if (
trim($_REQUEST['content']['Kontoinhaber (text)']['text'])=='' ||
trim($_REQUEST['content']['IBAN (text)']['text'])=='' ||
trim($_REQUEST['content']['BIC (text)']['text'])=='' ||
trim($_REQUEST['content']['Name und Ort der Bank (text)']['text'])==''
) {
if (trim($_REQUEST['content']['Kontoinhaber (text)']['text'])=='') $_REQUEST['error']['Kontoinhaber (form)']=true;
if (trim($_REQUEST['content']['IBAN (text)']['text'])=='') $_REQUEST['error']['IBAN (form)']=true;
if (trim($_REQUEST['content']['BIC (text)']['text'])=='') $_REQUEST['error']['BIC (form)']=true;
if (trim($_REQUEST['content']['Name und Ort der Bank (text)']['text'])=='') $_REQUEST['error']['Name und Ort der Bank (form)']=true;
$message[] = 'Für die Zahlungsweise "SEPA-Lastschrift" müssen Kontoinhaber, IBAN, BIC sowie Name und Ort der Bank angegeben werden. Bitte vervollständigen Sie die fehlenden Angaben zur Lastschrift!';
}
if ($_REQUEST['content']['SEPA-Einverständnis (text)']['text']=='') {
$_REQUEST['error']['SEPA-Einverständnis (form)']=true;
$message[] = 'Für die Zahlungsweise "SEPA-Lastschrift" müssen Sie Ihr Einverständnis bestätigen!';
}
}
Code: Alles auswählen
if (trim($_REQUEST['content']['F 50 (text)']['text']) && $_REQUEST['content']['F 50 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 50 (form)']=true;
}
if (trim($_REQUEST['content']['F 100 (text)']['text']) && $_REQUEST['content']['F 100 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 100 (form)']=true;
}
if (trim($_REQUEST['content']['F 200 (text)']['text']) && $_REQUEST['content']['F 200 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 200 (form)']=true;
}
if (trim($_REQUEST['content']['F 300 (text)']['text']) && $_REQUEST['content']['F 300 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 300 (form)']=true;
}
if (trim($_REQUEST['content']['F 400 (text)']['text']) && $_REQUEST['content']['F 400 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 400 (form)']=true;
}
Code: Alles auswählen
$mengeSpeditionsWare = (int) $_REQUEST['content']['F 50 (text)']['text']
+ (int) $_REQUEST['content']['F 100 (text)']['text']
+ (int) $_REQUEST['content']['F 200 (text)']['text']
+ (int) $_REQUEST['content']['F 300 (text)']['text']
+ (int) $_REQUEST['content']['F 400 (text)']['text'];
if ($mengeSpeditionsWare == 1) {
$_REQUEST['error']['F 50 (form)']=true;
$_REQUEST['error']['F 100 (form)']=true;
$_REQUEST['error']['F 200 (form)']=true;
$_REQUEST['error']['F 300 (form)']=true;
$_REQUEST['error']['F 400 (form)']=true;
$message[] = 'Für Speditionsware gilt eine Mindestabnahmemenge von 2 VE!';
}
if (
trim($_REQUEST['content']['Lieferung Name (text)']['text']).
trim($_REQUEST['content']['Lieferung Firmenname (text)']['text']).
trim($_REQUEST['content']['Lieferung PLZ (text)']['text']).
trim($_REQUEST['content']['Lieferung Ort (text)']['text']).
trim($_REQUEST['content']['Lieferung Strasse (text)']['text']).
trim($_REQUEST['content']['Lieferung Telefon (text)']['text'])!=''
&& (
trim($_REQUEST['content']['Lieferung Name (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Firmenname (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung PLZ (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Ort (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Strasse (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Telefon (text)']['text'])==''
)
) {
$form_error = true;
if (trim($_REQUEST['content']['Lieferung Name (text)']['text'])=='') $_REQUEST['error']['Lieferung Name (form)']=true;
if (trim($_REQUEST['content']['Lieferung Firmenname (text)']['text'])=='') $_REQUEST['error']['Lieferung Firmenname (form)']=true;
if (trim($_REQUEST['content']['Lieferung PLZ (text)']['text'])=='') $_REQUEST['error']['Lieferung PLZ (form)']=true;
if (trim($_REQUEST['content']['Lieferung Ort (text)']['text'])=='') $_REQUEST['error']['Lieferung Ort (form)']=true;
if (trim($_REQUEST['content']['Lieferung Strasse (text)']['text'])=='') $_REQUEST['error']['Lieferung Strasse (form)']=true;
if (trim($_REQUEST['content']['Lieferung Telefon (text)']['text'])=='') $_REQUEST['error']['Lieferung Telefon (form)']=true;
$message[] = 'Bei Angabe einer abweichenden Lieferanschrift müssen alle Felder ausgefüllt werden! Bitte vervollständigen Sie die fehlenden Angaben zur Lieferanschrift!';
}
Code: Alles auswählen
// Rüden stimmen nicht!
if ( (int) $_REQUEST['content']['Zuchtbucheintragung Rüden (text)']['text'] != ( (int) $_REQUEST['content']['Rüden (text)']['text'] - (int) $_REQUEST['content']['tote Rüden (text)']['text'] - (int) $_REQUEST['content']['verendete Rüden (text)']['text']) ) {
$form_error = true;
$_REQUEST['error']['Rüden (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['tote Rüden (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['verendete Rüden (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Zuchtbucheintragung Rüden (form)'] = 'Bitte prüfen!';
$message[] = 'Bitte prüfen Sie die Zahlenangaben für Rüden!<br />Die Anzahl für die Meldung zur Zuchtbucheintragung sollte der Wurfstärke abzüglich toter und verendeter Welpen entsprechen.';
}
// Hündinnen stimmen nicht!
if ( (int) $_REQUEST['content']['Zuchtbucheintragung Hündinnen (text)']['text'] != ( (int) $_REQUEST['content']['Hündinnen (text)']['text'] - (int) $_REQUEST['content']['tote Hündinnen (text)']['text'] - (int) $_REQUEST['content']['verendete Hündinnen (text)']['text']) ) {
$form_error = true;
$_REQUEST['error']['Hündinnen (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['tote Hündinnen (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['verendete Hündinnen (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Zuchtbucheintragung Hündinnen (form)'] = 'Bitte prüfen!';
$message[] = 'Bitte prüfen Sie die Zahlenangaben für Hündinnen!<br />Die Anzahl für die Meldung zur Zuchtbucheintragung sollte der Wurfstärke abzüglich toter und verendeter Welpen entsprechen.';
}
// Datums-Check
// $_REQUEST['Erstes Deckdatum'], $_REQUEST['Letztes Deckdatum'], $_REQUEST['Wurfdatum']
// Datumseingabe ist o.k. wenn das Wurfdatum größergleich erstes Deckdatum plus 56 Tage und kleinergleich letztes Deckdatum plus 70 Tage ist.
// erstmal müssen die Datumswerte umgewandelt werden
$ErstesDeckdatumArray = explode(".", $_REQUEST['content']['Erstes Deckdatum (text)']['text']);
$LetztesDeckdatumArray = explode(".", $_REQUEST['content']['Letztes Deckdatum (text)']['text']);
$WurfdatumArray = explode(".", $_REQUEST['content']['Wurfdatum (text)']['text']);
$ErstesDeckdatum = strtotime($ErstesDeckdatumArray[2]."-".$ErstesDeckdatumArray[1]."-".$ErstesDeckdatumArray[0]);
$LetztesDeckdatum = strtotime($LetztesDeckdatumArray[2]."-".$LetztesDeckdatumArray[1]."-".$LetztesDeckdatumArray[0]);
$Wurfdatum = strtotime($WurfdatumArray[2]."-".$WurfdatumArray[1]."-".$WurfdatumArray[0]);
$DiffMin = 54 * ( 24 * 60 * 60 );
$DiffMax = 70 * ( 24 * 60 * 60 );
// jetzt prüfen
if ($Wurfdatum < ( $ErstesDeckdatum + $DiffMin ) OR $Wurfdatum > ( $LetztesDeckdatum + $DiffMax ) ) {
$form_error = true;
$_REQUEST['error']['Erstes Deckdatum (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Letztes Deckdatum (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Wurfdatum (form)'] = 'Bitte prüfen!';
$message[] = 'Bitte prüfen Sie die Datumsangaben!<br />Die Datumseingabe ist o.k. wenn das Wurfdatum größergleich erstes Deckdatum plus 54 Tage und kleinergleich letztes Deckdatum plus 70 Tage ist.';
}
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle