'Error's' met JSON?
Ik vraag me al een tijdje af hoe ik dit zou moeten gaan maken.
Dus bijvoorbeeld:
Ik heb één input voor me naam, en een textfield voor bijv. een nieuws bericht.
Ik verzend die data met gebruik van Jquery, Alleen hoe kan ik nou zorgen, dat als ik de input niet hebt ingevuld, dat er een error terug komt met:
Er is een error opgetreden:
- Naam niet ingevuld.
En voor textfield spreek voorzig, alleen als ik dus alle 2 niet invul? dan zou ik dit willen krijgen:
Er is een error opgetreden:
- Naam niet ingevuld.
- Bericht niet ingevuld.
of, als de naam al reets bestaad in de database:
Er is een error opgetreden:
- Naam bestaad al reets.
Dit doe ik normaal gewoon met welke error het eerst komt, die het eerst maalt.
maar ik wil dus eigenlijk alle errors willen weergeven. (Ik doe meestal de velden (of ze leeg zijn) checken met Javascript of jquery, en of die al bestaad, of geldig is, met PHP)
Ik heb nu 1x met JSON gewerkt, en ik denk dat het daar wel te maken valt? (Array's)
Maar ik weet niet hoe.
Zouden jullie me een beetje op de goede weg kunnen zetten? :).
Bedankt!
Wouter
Ik neem aan dat je de pagina die de data afhandelt aanroept via een AJAX post?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
Je javascript:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
function dezeWordtUitgevoerdBijOnSubmit(formElement, e) {
e.preventDefault();
$.post('url.php', $('input, select').serializeArray(), function(data) {
var errorMessages = '';
$.each(data, function(field, message) {
errorMessages += '<strong>' + field + '</strong> ' + message + '<br />';
});
//je maakt ergens een div die de class errorMessages heeft en display:none heeft:
$('.errorMessages').html(errorMessages).slideDown();
}, 'json');
}
e.preventDefault();
$.post('url.php', $('input, select').serializeArray(), function(data) {
var errorMessages = '';
$.each(data, function(field, message) {
errorMessages += '<strong>' + field + '</strong> ' + message + '<br />';
});
//je maakt ergens een div die de class errorMessages heeft en display:none heeft:
$('.errorMessages').html(errorMessages).slideDown();
}, 'json');
}
Hier zou je ongeveer mee uit de voeten moeten kunnen. Ik heb dit wel even uit de losse pols getypt dus je moet het misschien nog wel debuggen. Kun je goed doen met FireBug in FireFox.
Succes!
Gewijzigd op 29/10/2011 11:08:50 door kees Schepers
Ps. ik heb is gezien, dat iemand een PHP functie gebruikte in Java?
Mocht je doelen op bijvoorbeeld trim(), dan zou het kunnen want die functie bestaat in zowel PHP als javaSCRIPT.