Trebuie să validez un câmp de dată/timp pe o pagină Web, dar vreau să o facă fără a reîncărca pagina și ar dori feedback "instant" pentru utilizatori.
Care este soluția cea mai bună/cea mai simplă. BTW: cel mai ușor punctaj este 65% din totalul punctelor
Editați | ×: Dacă cel mai bine a fost 65% din totalul punctelor?
Consultați această funcție validarea datei javascript .
Utilizează javascript, expresii regulate și evenimentul "onblur" al unei intrări de text.
O metodă simplă de javascript care citește ce se află în câmpul de introducere pe care îl supune și îl validează. Dacă nu este validă, returnați falsul, astfel încât formularul să nu fie trimis la server.
... onSubmit="return validateForm();" ...
Asigurați-vă că validați și pe partea de server, este ușor să ocoliți validarea javascript.
Dacă doriți să utilizați JavaScript, acesta are funcții de validare a datei. Cu toate acestea, dacă nu doriți să mergeți pe ruta JavaScript, puteți schimba interfața UI în meniul dropdown, ceea ce ar limita capacitatea utilizatorilor de a introduce date nevalide. Încă ar trebui să verificați partea serverului pentru a vă asigura că nimeni nu va prezenta data de 30 februarie.
Dacă utilizați ASP.NET, acesta are controale validator pe care le puteți indica în cutiile de text pe care le puteți utiliza apoi pentru a valida formate adecvate de dată/oră.
Există câteva date widget-uri disponibile în eter. Apoi puteți permite o intrare validă.
Se pare că există un video minunat despre ASP.NET AJAX Control Toolkit oferă controlul MaskedEdit și controlul MaskedEditValidator care funcționează excelent. Nu este ușor pentru începători, dar feedback-ul FOARTE bun și instant.
Thanks for all the answers though!
Unfortunately I can't accept this answer.
Aș recomanda folosirea meniurilor pentru date, așa cum este indicat mai sus. Nu mă pot gândi de nici un motiv pentru a nu - doriți ca utilizatorul să aleagă din datele predefinite, să nu vă dea ceva unic pe care nu-l puteți anticipa.
Puteți evita 30 februarie cu un pic de Javascript (faceți câmpul de zile să populeze dinamic pe baza lunii).
@David H. Aust
Folosirea onblur pentru validare este problematică, deoarece unii oameni folosesc tasta enter, nu mouse-ul, pentru a trimite un formular. Folosind onblur și evenimentul onsubmit al formei împreună ar putea fi o soluție mai bună. Înapoi când am făcut validarea JS pentru formulare mult mai mult, aș alerga împotriva evenimentelor keyup. Acest lucru a dat utilizatorului feedback instantaneu asupra faptului dacă intrarea lor a fost sau nu corectă. Puteți face (și am făcut) și controale în așa fel încât utilizatorul să nu primească un mesaj "incorect" până când nu a părăsit câmpul (deoarece nu ar trebui să le spui că sunt incorecte dacă nu sunt terminate inca).