validations

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

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

Απάντηση
panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

validations

Δημοσίευση από panosru » 11 Φεβ 2006 20:57

hi! :D den exo kanena problhma apla eftiaksa ena js scrip pou kanei validation se 3 diaforetikes formes, pos tha mporousa na grapso to script etsi oste na mikrinei - h na ginei poly poio dysnohto! :P

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

<!--
// JavaScript Document

//window.onload = init;

function init &#40;&#41;
&#123;
	var mySelect = document.getElementsByTagName&#40;"select"&#41;;
	mySelect&#91;0&#93;.selectedIndex = 0;	
&#125;

function myObject &#40;FormName&#41;
&#123;	
	var myForm = document.getElementsByName&#40;FormName&#41;&#91;0&#93;;
	var error = false;
	var error_msg = "Λάθος Εισαγωγή Στοιχείων&#58;\n";
	var validEmail = new RegExp &#40;/^&#91;A-Za-z0-9&#93;+&#40;&#91;_\.-&#93;&#91;A-Za-z0-9&#93;+&#41;*@&#91;A-Za-z0-9&#93;+&#40;&#91;_\.-&#93;&#91;A-Za-z0-9&#93;+&#41;*\.&#40;&#91;A-Za-z&#93;&#41;&#123;2,4&#125;$/i&#41;;
	var validDomain = new RegExp &#40;/^&#91;A-Za-z0-9&#93;+&#40;&#91;\-&#93;&#91;A-Za-z0-9&#93;+&#41;*\.&#40;&#91;A-Za-z&#93;&#41;&#123;2,4&#125;$/i&#41;;
	
	var myObj = &#123;
		myForm&#58; myForm, 
		error&#58; error,
		error_msg&#58; error_msg,
		validEmail&#58; validEmail,
		validDomain&#58; validDomain
	&#125;		
	
	return &#40;myObj&#41;;
&#125;

function trim&#40;s&#41; 
&#123;
	return s.replace&#40;/^\s+|\s+$/g, ''&#41; 	
&#125; 

function contactForm_validation &#40;myObj&#41;
&#123;
	//contactForm
	
	if &#40;&#40;trim&#40;myObj.myForm.name.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Όνομα δεν πρέπει να είναι κενό\n";
	&#125;
	
	if &#40;&#40;trim&#40;myObj.myForm.surname.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Επώνυμο δεν πρέπει να είναι κενό\n";
	&#125;	
		
	if &#40;!myObj.validEmail.test&#40;myObj.myForm.mail.value&#41;&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο E-mail είναι λάθος.\n";
	&#125;	
	
	if &#40;&#40;trim&#40;myObj.myForm.comments.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Σχόλια δεν πρέπει να είναι κενό\n";
	&#125;	
		
	if &#40;myObj.error == true&#41; &#123;		
		alert&#40;myObj.error_msg&#41;; 
		return &#40;false&#41;; 
	&#125; else &#123;
		return &#40;true&#41;;
	&#125;
&#125;

function callback_validation &#40;myObj&#41;
&#123;
	//callBackForm
	
	if &#40;&#40;trim&#40;myObj.myForm.name.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Όνομα δεν πρέπει να είναι κενό\n";
	&#125;
	
	if &#40;&#40;trim&#40;myObj.myForm.surname.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Επώνυμο δεν πρέπει να είναι κενό\n";
	&#125;	
		
	if &#40;!myObj.validEmail.test&#40;myObj.myForm.mail.value&#41;&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο E-mail είναι λάθος.\n";
	&#125;	
	
	if &#40;&#40;trim&#40;myObj.myForm.phone.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Τηλέφωνο δεν πρέπει να είναι κενό\n";
	&#125;		
	
	if &#40;&#40;trim&#40;myObj.myForm.comments.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Σχόλια δεν πρέπει να είναι κενό\n";
	&#125;	
		
	if &#40;myObj.error == true&#41; &#123;		
		alert&#40;myObj.error_msg&#41;; 
		return &#40;false&#41;; 
	&#125; else &#123;
		return &#40;true&#41;;
	&#125;
&#125;

function SupportForm_validation &#40;myObj&#41;
&#123;
	//SupportForm
	
	if &#40;myObj.myForm.department.selectedIndex < 0&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Επιλέξτε κατηγορία.\n";
	&#125;
	
	if &#40;!myObj.validDomain.test&#40;myObj.myForm.domain_name.value&#41;&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Domain Name είναι λάθος.\n";
	&#125;	
	
	if &#40;&#40;trim&#40;myObj.myForm.name.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Όνομα δεν πρέπει να είναι κενό\n";
	&#125;
	
	if &#40;&#40;trim&#40;myObj.myForm.surname.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Επώνυμο δεν πρέπει να είναι κενό\n";
	&#125;	
		
	if &#40;!myObj.validEmail.test&#40;myObj.myForm.email.value&#41;&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο E-mail είναι λάθος.\n";
	&#125;	
	
	if &#40;&#40;trim&#40;myObj.myForm.comments.value&#41;&#41; == ""&#41; &#123;
		myObj.error = true;
		myObj.error_msg += "Το πεδίο Σχόλια δεν πρέπει να είναι κενό\n";
	&#125;	
		
	if &#40;myObj.error == true&#41; &#123;		
		alert&#40;myObj.error_msg&#41;; 
		return &#40;false&#41;; 
	&#125; else &#123;
		return &#40;true&#41;;
	&#125;
&#125;

function validation &#40;&#41;
&#123;
	return &#40;contactForm_validation&#40;myObject&#40;"contactForm"&#41;&#41;&#41;;
&#125;

function cbvalidation &#40;&#41;
&#123;
	return &#40;callback_validation&#40;myObject&#40;"callBackForm"&#41;&#41;&#41;;
&#125;

function svalidation &#40;&#41;
&#123;
	return &#40;SupportForm_validation&#40;myObject&#40;"SupportForm"&#41;&#41;&#41;;
&#125;

//-->

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

validations

Δημοσίευση από skeftomilos » 12 Φεβ 2006 12:05

Κι έτσι να τον αφήσεις καλός είναι ο κώδικας. :)

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

var myForm = document.getElementsByName&#40;FormName&#41;&#91;0&#93;;
...πιο σύντομα...

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

var myForm = document.forms&#91;FormName&#93;;
Μια άλλη ιδέα είναι αντί για...

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

myObj.error_msg += 'blah blah';
...στη θέση του string error_msg να υπάρχει ένα array με όνομα π.χ. errors:

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

var myObj = &#123;
  myForm&#58; myForm,
  errors&#58; &#91;&#93;,
...και να προστίθενται σφάλματα με...

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

myObj.errors.push&#40;'blah blah'&#41;;
Με αυτό τον τρόπο μπορεί να βρεθεί αν υπάρχουν σφάλματα ελέγχοντας την ιδιότητα length:

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

if &#40;myObj.errors.length > 0&#41; &#123; ...
Στο τέλος τα σφάλματα μπορούν να συνενωθούν σε ένα string με τη μέθοδο join:

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

alert&#40;myObj.errors.join&#40;'\n'&#41;&#41;;
Η Array.join() είναι πιο γρήγορη και απαιτεί λιγότερη μνήμη σε σχέση με συνεχές string concatenation. Για τη συγκεκριμένη χρήση βέβαια δεν υπάρχει καμία διαφορά στην performance.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

validations

Δημοσίευση από panosru » 12 Φεβ 2006 12:56

poly oraia idea! tha thn efarmoso! xD

thanks!!!

Απάντηση

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

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

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