NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Neaktivní uživatel:5.2.2018 14:42

Zdravím prosím, jak provedu validaci jména a příjmení?? (chci aby při vyplnění jména muselo být první písmeno velké, jinak to napsalo alert)
var fname = document.forms["Va­lidace"]["fna­me"].value;
if (fname == "") {
alert("Pole jméno musí být vyplněno");
return false;
}

var x = document.forms["Va­lidace"]["name"]­.value;
if (x == "") {
alert("MUSITE ZADAT VELKE PISMENO");
return false;
}

var x = document.forms["Va­lidace"]["name"]­.value;
if (x == "") {
alert("Pole příjmení musí být vyplněno");
return false;
} *

Editováno 5.2.2018 14:43
Odpovědět
5.2.2018 14:42
Neaktivní uživatelský účet
Avatar
DHPICO
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
DHPICO:5.2.2018 14:55

není lepší prostě první písmeno automaticky hned upravit na velké písmeno ?

function capitalizeFirstLetter(string) {
    return string.charAt(0).toUpperCase() + string.slice(1);
}
Nahoru Odpovědět
5.2.2018 14:55
Požehnáni budíš oráj
Avatar
DHPICO
Tvůrce
Avatar
Nahoru Odpovědět
5.2.2018 15:02
Požehnáni budíš oráj
Avatar
DHPICO
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
DHPICO:5.2.2018 15:04

pokud bys stejně chtěl porovnávat to velké písmeno tak:

(variable.charAt(0).toUpperCase() === variable.charAt(0))
Nahoru Odpovědět
5.2.2018 15:04
Požehnáni budíš oráj
Avatar
Neaktivní uživatel:5.2.2018 15:50

OK:D celý můj kód vypadá takto, takže trošku nevím kam co zabudovat.
Kód

Nahoru Odpovědět
5.2.2018 15:50
Neaktivní uživatelský účet
Avatar
DHPICO
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
DHPICO:5.2.2018 16:23

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(" ","")
Nahoru Odpovědět
5.2.2018 16:23
Požehnáni budíš oráj
Avatar
Neaktivní uživatel:5.2.2018 16:36

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

Nahoru Odpovědět
5.2.2018 16:36
Neaktivní uživatelský účet
Avatar
DHPICO
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
DHPICO:5.2.2018 16:56

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["Va­lidace"]...

Nahoru Odpovědět
5.2.2018 16:56
Požehnáni budíš oráj
Avatar
Martin
Člen
Avatar
Martin:5.2.2018 18:34
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 :D

 
Nahoru Odpovědět
5.2.2018 18:34
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.