Diskuze: Javascript validace jména
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
není lepší prostě první písmeno automaticky hned upravit na velké písmeno ?
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
}
a používej === místo ==
which-equals-operator-vs-should-be-used-in-javascript-comparisons
pokud bys stejně chtěl porovnávat to velké písmeno tak:
(variable.charAt(0).toUpperCase() === variable.charAt(0))
OK:D celý můj kód vypadá takto, takže trošku nevím kam co
zabudovat.
Kód
jaký je důvod tam mát tohle dvakrát ?
var fname = document.forms["Validace"]["fname"].value;
if (fname === "") {
alert("Pole jméno musí být vyplněno");
return false;
}
a místo vypisování to můžeš udělat v cyklu, protože píšeš v podstatě furt to samé
u ověřování hesla
password != confirmPassword
může projít
0 != ""
a ověřování, zda nejsou jednotlivé inputy prázdné lze rozbít tím, že tam napíšu mezeru, takže lepší dodat
(x === " ".replace(" ","")
To dvakrát byla chyba, díky. Ostatní jsem opravil. Ale nevím kam mám vložit ten kód ohledně velkého písma
pokud Chceš jen ověřit tak lze přímo do podmínky:
if (fname === "" && ( fname.charAt(0).toUpperCase() === fname.charAt(0)) )
a pro automatickou změnu buďto na serveru až nebo změnit document.forms["Validace"]...
function kontrola() {
var fields = [
{
id: "fname",
msg: "Pole jméno musí být vyplněno"
},
{
id: "name",
msg: "Pole jméno musí být vyplněno"
},
{
id: "email",
msg: "Pole jméno musí být vyplněno"
},
{
id: "password",
msg: "Pole jméno musí být vyplněno",
validate: function(value) {
if (value.length < 8) {
alert("Heslo musí mít minimálně 8 znaků");
return false;
}
return true;
}
},
{
id: "ppsw",
msg: "Pole jméno musí být vyplněno",
validate: function(value) {
var fieldValue = document.forms["Validace"]["password"].value;
if (fieldValue !== value) {
alert("Hesla se neshodují");
return false;
}
return true;
}
}
];
for (var field of fields) {
var value = document.forms["Validace"][field.id].value;
if (!value) {
alert(field.msg);
return false;
}
if (field.validate && !field.validate(value)) {
return false;
}
}
return true;
}
Neviem či je toto najinteligentnejší spôsob validácie ale myslím si že lepšie ako cez kopec podmienok
PS: neskúšal som to možno tam bude nejaká chyba
Zobrazeno 9 zpráv z 9.