Javascript error

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
Ik kom er niet uit waarom mijn website altijd een alert stuurt ookal zijn de 2 input field ingevuld ik vroeg me af of iemand me hiermee kon helpen.

```
let voorNaamInput = document.getElementById('voorNaamInput');
let achternaamInput = document.getElementById('achterNaamInput');
let emailadresInput = document.getElementById('emailadresInput');
let wachtwoordHerhalenInput = document.getElementById('wachtwoordHerhalenInput');
let wachtwoordInput = document.getElementById('wachtwoordInput');

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<>function voornaamCheck() {
    if (voorNaamInput == null) {
        alert("Je bent vergeten je voornaam neer te zetten!");
        voorNaamInput.focus();
    }
    return false

}

function achternaamCheck() {
    if (achternaamInput == null) {
        alert("Je bent vergeten je achternaam neer te zetten!");
        achternaamInput.focus();
    }
    return false
}


function formValidation() {
    if (voornaamCheck()) {


    }
    if (achternaamCheck()) {

    }
    return false
}

function continueRegistration() {
    if (formValidation()) {
        document.getElementById("submitButton").href = "registreren2.html"
    }
    alert("Je moet nog een aantal dingen invullen")
}
```

Hier zijn de 3 stukjes code uit de HTML dier bij horen

```
    <div id="voorNaamInput" class="voornaamDiv">
                        <input type="text" placeholder="Voornaam"></div>

<div id="achterNaamInput" class="achternaamDiv"><input type="text" placeholder="Achternaam"></div>
```
<a type="submit" id="sumbitButton" onclick="continueRegistration()"  class="button">Volgende</a>
```

als ik de code op een andere manier beter kan neerzetten let me know!

Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
werkend met

code:
1
2
3
4
if (voorNaamInput == " " ) 

of 
if (voorNaamInput === null)


al gedaan werkt beide niet

[ Voor 7% gewijzigd door DionDV op 02-12-2020 16:15 ]


Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
Afbeeldingslocatie: https://tweakers.net/i/7s5vC46C51Ka4ylodxQ7pY2G-_g=/800x/filters:strip_exif()/f/image/V6Ibs9ZGImlgmTPUnqYl8afY.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
deze foutmelding

Acties:
  • 0 Henk 'm!

  • JustAnotherDev
  • Registratie: Augustus 2004
  • Laatst online: 28-09 22:03
Je kijkt of het element bestaat, niet wat de ingevulde waarde is. Het element bestaat altijd dus je krijgt altijd je alert.

code:
1
2
3
4
5
6
7
let voorNaamInput = document.getElementById('voorNaamInput');
// voorNaamInput is het HTML input element
let inputValue = voorNameInput.value;

if(inputValue != null){
  // show alert
}

[ Voor 46% gewijzigd door JustAnotherDev op 02-12-2020 16:15 ]


Acties:
  • 0 Henk 'm!

  • DukeBox
  • Registratie: April 2000
  • Laatst online: 16:51

DukeBox

loves wheat smoothies

DionDV schreef op woensdag 2 december 2020 @ 16:09:
als ik de code op een andere manier beter kan neerzetten let me know!
gebruik code tags

Duct tape can't fix stupid, but it can muffle the sound.


Acties:
  • 0 Henk 'm!

  • Marber
  • Registratie: Juni 2014
  • Laatst online: 16:06
Hele verkeerde plek, niet goed geformateerde post, maar je fout zit hier:
code:
1
2
3
4
5
6
7
8
9
10
function formValidation() {
if (voornaamCheck()) {


}
if (achternaamCheck()) {

}
return false
}

Je retouneerd altijd false...

[ Voor 3% gewijzigd door Marber op 02-12-2020 16:13 ]


Acties:
  • 0 Henk 'm!

  • AW_Bos
  • Registratie: April 2002
  • Laatst online: 17:23

AW_Bos

Liefhebber van nostalgie... 🕰️

Gebruik a.u.b. code-tags om je code te plaatsen.
Afbeeldingslocatie: https://tweakers.net/g/rml_toolbar/code.svg

Telecommunicatie van vroeger
🚅Alles over spoor en treintjes


Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
AW_Bos schreef op woensdag 2 december 2020 @ 16:13:
Gebruik a.u.b. code-tags om je code te plaatsen.
[Afbeelding]
ga dat nu doen

Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
Marber schreef op woensdag 2 december 2020 @ 16:13:
Hele verkeerde plek, niet goed geformateerde post, maar je fout zit hier:
code:
1
2
3
4
5
6
7
8
9
10
function formValidation() {
if (voornaamCheck()) {


}
if (achternaamCheck()) {

}
return false
}

Je retouneerd altijd false...
Met javascript checkt hij nu toch of ze waar zijn of niet en als er 1 van de 2 niet true is dan past geeft het false weer? wat mis ik

Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
Marber schreef op woensdag 2 december 2020 @ 16:13:
Hele verkeerde plek, niet goed geformateerde post, maar je fout zit hier:
code:
1
2
3
4
5
6
7
8
9
10
function formValidation() {
if (voornaamCheck()) {


}
if (achternaamCheck()) {

}
return false
}

Je retouneerd altijd false...
zit inderdaad in de verkeerde plek zie ik nu... Stomme fout

Acties:
  • 0 Henk 'm!

  • Marber
  • Registratie: Juni 2014
  • Laatst online: 16:06
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html>
<body>

<form>
  <input type="text" id="voorNaamInput"/>
  <input type="text" id="achterNaamInput"/>
  <input type="button" onclick="alert(formValidation());" value="click">
</form>
</body>
</html>


<script>
let voorNaamInput = document.getElementById('voorNaamInput');
let achternaamInput = document.getElementById('achterNaamInput');
function formValidation() {
    if (voorNaamInput.value == null || voorNaamInput.value == "" ) {
        alert("Je bent vergeten je voornaam neer te zetten!");
        return false;
    } else if (achterNaamInput.value == null || achterNaamInput.value == "") {
        alert("Je bent vergeten je achternaam neer te zetten!");
        return false;
    } 
    
    return true;
}
</script>


Hier, beetje zoeken en je vind hopelijk je fouten.

Maar, als dit je al niet lukt, hoe denk je de beveiliging van je aangemaakte gebruikers te garanderen? Ik hoop dat het een oefenproject is, en je niet van plan was dit live te brengen?

[ Voor 10% gewijzigd door Marber op 02-12-2020 16:26 ]


Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
ik heb het roer helemaal omgegooid als iemand hier ooit nog problemen mee heeft. hierbij de code

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
function formValidation() {
    let voorNaamInput = document.getElementById('voorNaamInput').value;
    let achternaamInput = document.getElementById('achterNaamInput').value;
    let emailadresInput = document.getElementById('emailadresInput').value;
    let wachtwoordHerhalenInput = document.getElementById('wachtwoordHerhalenInput').value;
    let wachtwoordInput = document.getElementById('wachtwoordInput').value;

    let valid = true;

    window.document.getElementById("errorMessage").innerText = "";

    if (isBlank(voorNaamInput)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Vul uw voornaam in";
        valid = false;
    }
    if (isBlank(achternaamInput)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Vul uw achternaam in";
        valid = false;
    }
    if (isBlank(emailadresInput)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Vul uw emailadres in";
        valid = false;
    }
    if (isBlank(voorNaamInput)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Vul uw voornaam in";
        valid = false;
    }

    if (!(checkPassword(wachtwoordInput, wachtwoordHerhalenInput, voorNaamInput, achternaamInput))) {
        valid = false
    }

    return valid;
}

function checkPassword(password1, password2, name, lastname) {
    let passwordRules = new RegExp('[!@#$%^&*(),.?":{}|<>]');

    if (isBlank(password2)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Herhaal uw wachtwoord";
    } else if (isBlank(password1)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Vul een wachtwoord in";
    } else if (!(password2 === password1)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoorden komen niet overeen";
    } else if (!(password1.length >= 8 && password1.length <= 15)) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet tussen de 8 tot 15 tekens lang zijn";
    } else  if (!(passwordRules.test(password1))) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet een speciaal teken bevatten";
    } else if (password1.toLowerCase().includes(name.toLowerCase()) || password1.toLowerCase().includes(lastname.toLowerCase())) {
        window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Uw naam mag niet in uw wachtwoord voorkomen";
    } else {
        return true;
    }
    return false;
}

function continueRegistration() {
    if (formValidation()) {
        window.location.href = "registreren2.html"
    }
}

function isBlank(string) {
    return (!string || /^\s*$/.test(string));
}

Acties:
  • +1 Henk 'm!

  • JustAnotherDev
  • Registratie: Augustus 2004
  • Laatst online: 28-09 22:03
Als we toch bezig zijn, my 2 cents. (code review)

Probeer je code te organiseren op basis van een logische volgorde. Onderstaande functie is eigenlijk je hoofdfunctie. Een mens lees van boven naar beneden en heeft geen zin op rond te zoeken. Probeer ook op die manier je code te schrijven, zodat je van boven naar beneden in een oogopslag ziet wat je code doet.

code:
1
2
3
4
5
function continueRegistration() {
    if (formValidation()) {
        window.location.href = "registreren2.html"
    }
}


Ik zie hier heel veel herhaling. Alles wat je herhaalt is generiek en zou je een keer maar hoeven schrijven.

code:
1
2
3
4
5
function formValidation() {
    let voorNaamInput = document.getElementById('voorNaamInput').value;
    let achternaamInput = document.getElementById('achterNaamInput').value;
    let emailadresInput = document.getElementById('emailadresInput').value;
}


Daarnaast lijkt me dat je herhaal input eerst komt op de pagina en daarna pas je wachtwoordHerhalenInput echter verwerk je ze in omgekeerde volgorde.
Ook zou je je kunnen afvragen in hoever je een gebruiker zijn wachtwoord wilt laten herhalen. Zeker nu browsers vaak dingen automatisch invullen of een wachtwoordsuggestie geven.

Zeker met front-end is UX en waarom je dingen doet en de impact ervan erg belangrijk.

code:
1
2
let wachtwoordHerhalenInput = document.getElementById('wachtwoordHerhalenInput').value;
let wachtwoordInput = document.getElementById('wachtwoordInput').value;


Een wachtwoord limiteren op een maximaal aantal karakter is raar is zou ik alleen doen wanneer er harde limiet wordt opgesteld vanuit bijvoorbeeld een database.
Wachtwoorden worden veiliger naarmate ze langer zijn.

code:
1
2
3
} else if (!(password1.length >= 8 && password1.length <= 15)) {
    window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet tussen de 8 tot 15 tekens lang zijn";
}


Als je toch al Regex gebruikt, waarom niet alles checken met Regex. Voor het gebruik van een Regex zijn denk ik sowieso de meningen over verdeeld. Maar als je het gebruikt zou ik dan ook alles ermee checken.

code:
1
2
3
4
5
} else if (!(password1.length >= 8 && password1.length <= 15)) {
    window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet tussen de 8 tot 15 tekens lang zijn";
} else  if (!(passwordRules.test(password1))) {
    window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet een speciaal teken bevatten";
}


Daarnaast zou je de regex dan als zodanig kunnen structureren dat het ook leesbaar is.

code:
1
2
3
4
5
6
7
// Onderstaand is niet getest en is puur een voorbeeld
let passwordRegex = '^' + // Start of word
    '(?=.*[A-Za-z])' + // At least a letter upper or lowercase
    '(?=.*\\d)' + // At least a digit
    '(?=.*[@$!%*#?&])' + // At least a special character
    '[A-Za-z\\d@$!%*#?&]{8,}' + // Should be a minimal of 8 characters
    '$' // End of word



Een beetje gerefactored en dan kom ik hier op uit.
Opmerkingen:
  • De if else constructie in continueRegistration kan misschien mooier
  • Gebruik van if else statements is niet onderhoudbaar. Als je het generiek maakt mbv arrays / objecten kan je het met minimale effort de code uitbreiden met extra velden en validaties. Alleen moet je altijd een afweging maken tussen leesbaarheid en complexiteit (overengineering)
  • De functies getInputValue en appendMessageToError, getInputValue en isInvalidString staan helemaal onderaan en niet op volgorde van gebruikt. Deze functies zijn zo klein en zouden zo eenduidige moeten zijn dat iemand niet zich afvraagt wat ze doen.
  • teksten en constanten bovenaan eenmalig definiëren zodat je niet overal in de code hoeft te zoeken naar teksten
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function continueRegistration() {
  let errorMessage = getFormError();
  if (errorMessage != null) {
    window.document.getElementById('errorMessage').innerText = errorMessage;
  } else {
    window.location.href = 'registreren2.html';
  }
}

function getFormError() {
  let error = '';

  if (isInvalidString(getInputValue('voorNaamInput'))) {
    error = appendMessageToError(error,"Vul uw voornaam in");
  }
  if (isInvalidString(getInputValue('achterNaamInput'))) {
    error = appendMessageToError(error,"Vul uw achternaam in");
  }
  if (isInvalidString(getInputValue('emailadresInput'))) {
    error = appendMessageToError(error,"Vul uw email in");
  }
  return appendInvalidPasswordError(error, getInputValue('wachtwoordInput'), getInputValue('wachtwoordHerhalenInput'));
}

function appendInvalidPasswordError(error, password, passwordRepeated) {
  let passwordRegex = new RegExp('^' + // Start of word
    '(?=.*[A-Za-z])' + // At least a letter upper or lowercase
    '(?=.*\\d)' + // At least a digit
    '(?=.*[@$!%*#?&])' + // At least a special character
    '[A-Za-z\\d@$!%*#?&]{8,}' + // Should be a minimal of 8 characters
    '$'); // End of word

  if (isInvalidString(password) || isInvalidString(passwordRepeated)) {
    return appendMessageToError(error, isInvalidString(password) ? 'Vun een wachtwoord in' : 'Herhaal je wachtwoord');
  } else if (password !== passwordRepeated) {
    return appendMessageToError(error, 'Wachtwoorden komen niet overeen');
  } else if (!passwordRegex.test(password)) {
    return appendMessageToError(error, 'Wachtwoord moet voldoen aan de volgende eisen: '
      + '\n - minimaal 1 letter'
      + '\n - minimaal 1 cijfer'
      + '\n - minimaal 1 speciale karakter'
      + '\n - minimaal 8 tekens');
  }
}

function appendMessageToError(error, message) {
  return error + '\n' + message;
}

function getInputValue(elementId) {
  return document.getElementById(elementId) ? document.getElementById(elementId).value : null;
}

function isInvalidString(value) {
  return typeof value !== 'string' && value.length === 0;
}


Anyway, zie het niet als kritiek. Code reviews horen bij code schrijven en het is vrij standaard.
Het komt uiteindelijk vaak uit op smaak waarbij die smaak vaak bepaald wordt op basis van dingen die veel voorkomend zijn, standaarden binnen een bepaalde taal of techniek, ervaringen en meer van dat soort dingen. Ik ben dan ook vooral hoe mijn refactor beter had gekund :9, maar niet om het topic te kapen zou dat misschien beter in een ander topic kunnen.

Ik denk alleen dat het goed is voor mensen om te zien dat het heel erg uitmaakt hoe je je code schrijft en dat naast dat het moet werken er ook een gedachte achter zit qua onderhoud. Want uiteindelijk is dat hetgeen wat je het meest doet als programmeur.

[ Voor 4% gewijzigd door JustAnotherDev op 03-12-2020 00:44 ]


Acties:
  • +1 Henk 'm!

  • Rone
  • Registratie: April 2002
  • Niet online

Rone

Moderator Tweaking
Je post nu in Tweaking » Cooling. Schopje naar Softwareontwikkeling.

PC1: 9800X3D + RX 9070 XT || PC2: 5800X3D + RTX 3080 || Laptop: 7735HS + RTX 4060


Acties:
  • 0 Henk 'm!

  • DionDV
  • Registratie: Juni 2015
  • Laatst online: 05-12-2020
JustAnotherDev schreef op donderdag 3 december 2020 @ 00:37:
Als we toch bezig zijn, my 2 cents. (code review)

Probeer je code te organiseren op basis van een logische volgorde. Onderstaande functie is eigenlijk je hoofdfunctie. Een mens lees van boven naar beneden en heeft geen zin op rond te zoeken. Probeer ook op die manier je code te schrijven, zodat je van boven naar beneden in een oogopslag ziet wat je code doet.

code:
1
2
3
4
5
function continueRegistration() {
    if (formValidation()) {
        window.location.href = "registreren2.html"
    }
}


Ik zie hier heel veel herhaling. Alles wat je herhaalt is generiek en zou je een keer maar hoeven schrijven.

code:
1
2
3
4
5
function formValidation() {
    let voorNaamInput = document.getElementById('voorNaamInput').value;
    let achternaamInput = document.getElementById('achterNaamInput').value;
    let emailadresInput = document.getElementById('emailadresInput').value;
}


Daarnaast lijkt me dat je herhaal input eerst komt op de pagina en daarna pas je wachtwoordHerhalenInput echter verwerk je ze in omgekeerde volgorde.
Ook zou je je kunnen afvragen in hoever je een gebruiker zijn wachtwoord wilt laten herhalen. Zeker nu browsers vaak dingen automatisch invullen of een wachtwoordsuggestie geven.

Zeker met front-end is UX en waarom je dingen doet en de impact ervan erg belangrijk.

code:
1
2
let wachtwoordHerhalenInput = document.getElementById('wachtwoordHerhalenInput').value;
let wachtwoordInput = document.getElementById('wachtwoordInput').value;


Een wachtwoord limiteren op een maximaal aantal karakter is raar is zou ik alleen doen wanneer er harde limiet wordt opgesteld vanuit bijvoorbeeld een database.
Wachtwoorden worden veiliger naarmate ze langer zijn.

code:
1
2
3
} else if (!(password1.length >= 8 && password1.length <= 15)) {
    window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet tussen de 8 tot 15 tekens lang zijn";
}


Als je toch al Regex gebruikt, waarom niet alles checken met Regex. Voor het gebruik van een Regex zijn denk ik sowieso de meningen over verdeeld. Maar als je het gebruikt zou ik dan ook alles ermee checken.

code:
1
2
3
4
5
} else if (!(password1.length >= 8 && password1.length <= 15)) {
    window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet tussen de 8 tot 15 tekens lang zijn";
} else  if (!(passwordRules.test(password1))) {
    window.document.getElementById("errorMessage").innerText = window.document.getElementById("errorMessage").innerText + "\n Wachtwoord moet een speciaal teken bevatten";
}


Daarnaast zou je de regex dan als zodanig kunnen structureren dat het ook leesbaar is.

code:
1
2
3
4
5
6
7
// Onderstaand is niet getest en is puur een voorbeeld
let passwordRegex = '^' + // Start of word
    '(?=.*[A-Za-z])' + // At least a letter upper or lowercase
    '(?=.*\\d)' + // At least a digit
    '(?=.*[@$!%*#?&])' + // At least a special character
    '[A-Za-z\\d@$!%*#?&]{8,}' + // Should be a minimal of 8 characters
    '$' // End of word



Een beetje gerefactored en dan kom ik hier op uit.
Opmerkingen:
  • De if else constructie in continueRegistration kan misschien mooier
  • Gebruik van if else statements is niet onderhoudbaar. Als je het generiek maakt mbv arrays / objecten kan je het met minimale effort de code uitbreiden met extra velden en validaties. Alleen moet je altijd een afweging maken tussen leesbaarheid en complexiteit (overengineering)
  • De functies getInputValue en appendMessageToError, getInputValue en isInvalidString staan helemaal onderaan en niet op volgorde van gebruikt. Deze functies zijn zo klein en zouden zo eenduidige moeten zijn dat iemand niet zich afvraagt wat ze doen.
  • teksten en constanten bovenaan eenmalig definiëren zodat je niet overal in de code hoeft te zoeken naar teksten
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
function continueRegistration() {
  let errorMessage = getFormError();
  if (errorMessage != null) {
    window.document.getElementById('errorMessage').innerText = errorMessage;
  } else {
    window.location.href = 'registreren2.html';
  }
}

function getFormError() {
  let error = '';

  if (isInvalidString(getInputValue('voorNaamInput'))) {
    error = appendMessageToError(error,"Vul uw voornaam in");
  }
  if (isInvalidString(getInputValue('achterNaamInput'))) {
    error = appendMessageToError(error,"Vul uw achternaam in");
  }
  if (isInvalidString(getInputValue('emailadresInput'))) {
    error = appendMessageToError(error,"Vul uw email in");
  }
  return appendInvalidPasswordError(error, getInputValue('wachtwoordInput'), getInputValue('wachtwoordHerhalenInput'));
}

function appendInvalidPasswordError(error, password, passwordRepeated) {
  let passwordRegex = new RegExp('^' + // Start of word
    '(?=.*[A-Za-z])' + // At least a letter upper or lowercase
    '(?=.*\\d)' + // At least a digit
    '(?=.*[@$!%*#?&])' + // At least a special character
    '[A-Za-z\\d@$!%*#?&]{8,}' + // Should be a minimal of 8 characters
    '$'); // End of word

  if (isInvalidString(password) || isInvalidString(passwordRepeated)) {
    return appendMessageToError(error, isInvalidString(password) ? 'Vun een wachtwoord in' : 'Herhaal je wachtwoord');
  } else if (password !== passwordRepeated) {
    return appendMessageToError(error, 'Wachtwoorden komen niet overeen');
  } else if (!passwordRegex.test(password)) {
    return appendMessageToError(error, 'Wachtwoord moet voldoen aan de volgende eisen: '
      + '\n - minimaal 1 letter'
      + '\n - minimaal 1 cijfer'
      + '\n - minimaal 1 speciale karakter'
      + '\n - minimaal 8 tekens');
  }
}

function appendMessageToError(error, message) {
  return error + '\n' + message;
}

function getInputValue(elementId) {
  return document.getElementById(elementId) ? document.getElementById(elementId).value : null;
}

function isInvalidString(value) {
  return typeof value !== 'string' && value.length === 0;
}


Anyway, zie het niet als kritiek. Code reviews horen bij code schrijven en het is vrij standaard.
Het komt uiteindelijk vaak uit op smaak waarbij die smaak vaak bepaald wordt op basis van dingen die veel voorkomend zijn, standaarden binnen een bepaalde taal of techniek, ervaringen en meer van dat soort dingen. Ik ben dan ook vooral hoe mijn refactor beter had gekund :9, maar niet om het topic te kapen zou dat misschien beter in een ander topic kunnen.

Ik denk alleen dat het goed is voor mensen om te zien dat het heel erg uitmaakt hoe je je code schrijft en dat naast dat het moet werken er ook een gedachte achter zit qua onderhoud. Want uiteindelijk is dat hetgeen wat je het meest doet als programmeur.
enige wat ik kan zeggen is dankjewel voor de tijd die je er in hebt gestopt om dit te schrijven! en ik zal terug gaan naar dit topic om even te spieken wat ik beter kan doen! bedankt en ik ga even wat veranderingen maken
Pagina: 1