Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...

Montaj aer conditionat in balcon ...
 Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...

joc idem Half Life gratis
 PC game stream catre Nvidia Shiel...

Pompa de apa HEPU ?!

Vreau o masina electrica de tocat...

Cum ajunge remorca de tir inapoi ...
 Alt "Utilizator nou" pe T...

ULBS INFORMATICA

Index preturi

Boxa membrana tweeter infundata
 

Validare Form - JavaScript

- - - - -
  • Please log in to reply
17 replies to this topic

#1
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017
Buna.

Am pagina signup.php
<!doctype html>
<html lang="en">
   
	<head>
		<title>Sign-up Page</title>
		<meta charset="utf-8" />
		<script type = "text/javascript" src = "js/checkform.js">
		</script>
		<style>
			form{
				width: 50%;
				background-color: aquamarine;
			}
			.error{
				color: red;
				font-style: italic;
			}
		</style>
	</head>
   
	<body>
	   
		<form action = "addcustomer.php" method = "post" >
		   
			<table border = "0" cellspacing = "1" cellpadding = "3">
			   
				<tr>
					<td colspan="2" align = "center">Enter your information</td>
				</tr>
			   
				<tr>
					<td>Email Address</td>
					<td><input type = "email" size = "20" name = "emailaddress" id ="emailaddress" /></td>
					<td><span class = "error" id = "emailerror"></span></td>
				</tr>
			   
				<tr>
					<td>Password</td>
					<td><input type = "password" id = "password" size ="20" name = "password" /></td>
					<td><span id = "passwdmsg"></span></td>
				</tr>
			   
				<tr>
					<td>ReType Password</td>
					<td><input type = "password" id = "repassword" size = "20" name = "repassword" /></td>
					<td><span id = "repasswdmsg"></span></td>
				</tr>
			   
				<tr>
					<td>Complete Name</td>
					<td><input type = "text" size = "50" name = "complete_name" /></td>
					<td><span id = "usrmsg"></span></td>
				</tr>
			   
				<tr>
					<td>Address</td>
					<td><input type = "text" size = "80" name = "address1" /></td>
				</tr>
			   
				<tr>
					<td></td>
					<td><input type = "text" size = "80" name = "address2" /></td>
				</tr>
			   
				<tr>
					<td>City</td>
					<td><input type = "text" size = "30" name = "city" /></td>
				</tr>
			   
				<tr>
					<td>State</td>
					<td><input type = "text" size = "30" name = "state" /></td>
				</tr>
			   
				<tr>
					<td>Country</td>
					<td><input type = "text" size = "30" name = "country" /></td>
				</tr>
			   
				<tr>
					<td>Zip Code</td>
					<td><input type = "text" size = "20" name = "zipcode" /></td>
				</tr>
			   
				<tr>
					<td>Phone No.</td>
					<td><input type = "text" size = "30" name = "phone_no" /></td>
				</tr>
			   
				<tr>
					<td><input type = "submit" value = "Submit" onclick="return validate();"/></td>
					<td><input type = "reset" value = "Cancel" /></td>
					<td></td>
				</tr>
			   
			</table>
		   
		</form>
	   
	</body>
   
</html>


si checkform.js

function validate(){
	var emailerror = false;
   
	var email = document.getElementById("emailaddress");
	var regex = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
	var match = regex.exec(email);
	if(!match){
		emailerror = true;
	}
	if(emailerror){
		var temp = document.getElementById("emailerror");
		if(temp.hasChildNodes()){
			temp.removeChild(temp.firstChild);
		}
		temp.appendChild(document.createTextNode("Invalid Email"));
		document.getElementById("emailaddress").focus();
		return false;
	}
	return (true);
   
}


Cand introduc o adresa de email valida ar trebui sa deschida 'addcustomer.php', dar nu face asta. Putin ajutor?

#2
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
De ce "return validate ();" la inputul de tip buton? Pune direct numele fct.
Si ce iti intoarce: false sau true? Eroare iti da daca adresa de mail nu este buna?
Pagina spre care vrei sa re redirectezi exista? Are calea buna?

#3
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017
pai cand validate returneaza false(email gresit) sa nu se mai duca pe addcustumer.php sa ramana pe aceeasi pagina.

nu este o eroare, e ceva mai mult de debug dar nu reusesc nimic in netbeans.

#4
unbrutus

unbrutus

    Guru Member

  • Grup: Senior Members
  • Posts: 16,299
  • Înscris: 23.02.2017
cam offtopic, dar mi-a sarit in ochi, folosesti table pt a construi formularul, in 2017 nu prea se mai accepta asa ceva

View Postcolombo2003, on 04 iulie 2017 - 11:41, said:

De ce "return validate ();" la inputul de tip buton? Pune direct numele fct.
merge si cu return validate()

modifica signup.php sa inceapa asa:
<?php
ini_set('display_errors', 1);
error_reporting(-1);
?>
<!doctype html>
etc etc


Si inlocuiesti js ul cu asta si o sa intelegi de ce nu merge:
function validate(){
	console.log("Se executa functia de validare");
		var emailerror = false;
  
		var email = document.getElementById("emailaddress");
		var regex = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
		var match = regex.exec(email);
		if(!match){
				emailerror = true;
		}
		if(emailerror){
			console.log("avem o eroare");
				var temp = document.getElementById("emailerror");
				if(temp.hasChildNodes()){
						temp.removeChild(temp.firstChild);
				}
				temp.appendChild(document.createTextNode("Invalid Email"));
				document.getElementById("emailaddress").focus();
				return false;
		}
		console.log("nu exista erori");
		return (true);
  
}


View PostPKRUSER, on 04 iulie 2017 - 12:04, said:

pai cand validate returneaza false(email gresit) sa nu se mai duca pe addcustumer.php sa ramana pe aceeasi pagina.

nu este o eroare, e ceva mai mult de debug dar nu reusesc nimic in netbeans.
ai intotdeauna o eroare tu... vezi mai sus JSul de la mine. Nu inteleg, tu cum testezi? Pare sa nu testezi in nici un fel

#5
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017
incercam sa lucrez din cartea asta link

Nu intereseaza inca partea de PHP.

Eu vreau momentan pentru partea de Javascript:
- daca email incorect: nu se duce mai departe.
- daca email corect: se duce mai departe, nu conteazea daca nu se prelucreaza datele.

daca ma uit ca un beginner java dev pe codul de javascript, zic ca este ok.

dar in realitate nu functioneaza.

#6
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Alte erori eu nu vad.
Si codul chiar functioneaza (si face redirect catre pagina specificata daca adresa este buna).

#7
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017
dap, greseala mea, lipsea value

var email = document.getElementById("emailaddress").<b>value</b>;



#8
unbrutus

unbrutus

    Guru Member

  • Grup: Senior Members
  • Posts: 16,299
  • Înscris: 23.02.2017

View Postcolombo2003, on 04 iulie 2017 - 12:44, said:

Alte erori eu nu vad.
Si codul chiar functioneaza (si face redirect catre pagina specificata daca adresa este buna).
nu mergea pt ca tot timpul returna false acea functie

#9
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Repet, la mine functioneaza!

#10
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017

View Postcolombo2003, on 04 iulie 2017 - 13:03, said:

Repet, la mine functioneaza!
NU cred ca avea cum, doar daca ai pus tu value, ca sa luam valoare introdusa.

#11
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,312
  • Înscris: 16.07.2008
Fara nici un value. Cu codul tau copiat din prima postare. Test facut pe hostul unde am si un site in intretinere (cpanel), un pe server propriu (dar asta n-are importanta).
Paginile respective le-am sters, c-as fi facut captura de ecrane. Dar pare ca deja ti-ai rezolvat problema.

#12
unbrutus

unbrutus

    Guru Member

  • Grup: Senior Members
  • Posts: 16,299
  • Înscris: 23.02.2017

View Postcolombo2003, on 04 iulie 2017 - 13:16, said:

Fara nici un value. Cu codul tau copiat din prima postare. Test facut pe hostul unde am si un site in intretinere (cpanel), un pe server propriu (dar asta n-are importanta).
Paginile respective le-am sters, c-as fi facut captura de ecrane. Dar pare ca deja ti-ai rezolvat problema.
Ia-o pe logica... daca nu ai value, nu are cu sa treaca de testul regex, si deci tot timpul returneaza false... deci nu are cum sa iti mearga.

#13
Mosotti

Mosotti

    Geniu umil

  • Grup: Senior Members
  • Posts: 33,295
  • Înscris: 21.04.2004
Validarea de genul asta sux. Oricum trebuie sa faci validare si pe server, prin urmare nu vrei sa ai doua validari diferite in doua locuri diferite. Mai degraba fa in client un call cu ajax la server si foloseste validatorul de pe server. De asemenea trebuie sa iei in considerare si posibilitatea ca javascript sa fie disabled...

#14
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017

View PostMosotti, on 13 iulie 2017 - 05:51, said:

Validarea de genul asta sux. Oricum trebuie sa faci validare si pe server, prin urmare nu vrei sa ai doua validari diferite in doua locuri diferite. Mai degraba fa in client un call cu ajax la server si foloseste validatorul de pe server. De asemenea trebuie sa iei in considerare si posibilitatea ca javascript sa fie disabled...
Mai exista in zilele acestea dispozitive cu javascript disabled? nu mi se pare o varianta de luat in considerare.

din perspectiva mea de beginner web dev validarea trebuie facuta doar pe client side, ca sa nu se produca prea multe cereri catre server, care vor duce la viitoare delay-uri sau ceva de genul

#15
tavitu

tavitu

    Minune: HE a început să emită facturile!

  • Grup: Senior Members
  • Posts: 5,598
  • Înscris: 16.02.2009
În orice situație validarea trebuie făcută la server. Că faci în plus validare și la client ca să nu trimiți cereri invalide din start la server și că e user friendly, nu însemnă că e suficient. Întotdeauna când dezvolți pentru web trebuie să ai în minte și clienți malițioși, care vor trimite cereri malițioase direct către server indiferent ce validări încerci să faci la client.

#16
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,933
  • Înscris: 29.10.2014
Faci validarea via Javascript. Și dacă mă pun să trimit datele cu cURL, ce faci?

#17
PKRUSER

PKRUSER

    New Member

  • Grup: Junior Members
  • Posts: 17
  • Înscris: 04.07.2017

View PostRedDev, on 15 iulie 2017 - 15:30, said:

Faci validarea via Javascript. Și dacă mă pun să trimit datele cu cURL, ce faci?
as putea folosi o captcha cred. si cURL cred ca poate fi blocat din setari de server

#18
RedDev

RedDev

    Active Member

  • Grup: Members
  • Posts: 1,933
  • Înscris: 29.10.2014
Nah, maschezi cererea cURL ca și un Google Chrome. Captcha iz good, dar nu sfârșitul tuturor problemelor.

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate