Add server side error handling
This commit is contained in:
parent
f687ce8e1e
commit
ce0ae7a79d
2 changed files with 57 additions and 0 deletions
46
index.php
46
index.php
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
require 'vendor/autoload.php';
|
||||
require_once 'is_email.php';
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
|
@ -33,4 +34,49 @@ $app->get('/', function (Request $request) use ($app) {
|
|||
));
|
||||
});
|
||||
|
||||
$app->post('/', function (Request $request) use ($app) {
|
||||
$errors = array();
|
||||
|
||||
// collect the params
|
||||
$user = $request->get('username',null);
|
||||
$host = $request->get('host',null);
|
||||
$email = $request->get('mail',null);
|
||||
$password = $request->get('password',null);
|
||||
$password_repeat = $request->get('password_repeat',null);
|
||||
|
||||
// check for errors
|
||||
if (!$user) {
|
||||
$errors[] = $app->trans('Kein Benutzername angegeben.');
|
||||
}
|
||||
|
||||
if (!$host) {
|
||||
$errors[] = $app->trans('Keinen Hostnamen angegeben.');
|
||||
}
|
||||
|
||||
if (!$email) {
|
||||
$errors[] = $app->trans('Keine E-Mail-Adresse angegeben.');
|
||||
} else {
|
||||
if (!is_email($email)) {
|
||||
$errors[] = $app->trans('Keine gültige E-Mail-Adresse angegeben.');
|
||||
}
|
||||
}
|
||||
|
||||
if (!$password) {
|
||||
$errors[] = $app->trans('Kein Passwort angegeben.');
|
||||
}
|
||||
|
||||
if ($password != $password_repeat) {
|
||||
$errors[] = $app->trans('Bitte gebe in den Feldern Passwort und Passwortwiederholung identische Werte ein.');
|
||||
}
|
||||
|
||||
if (count($errors) > 0) {
|
||||
return $app['twig']->render('registration_form.twig', array(
|
||||
'errors' => $errors,
|
||||
));
|
||||
} else {
|
||||
return $app['twig']->render('success.twig', array(
|
||||
));
|
||||
}
|
||||
});
|
||||
|
||||
$app->run();
|
||||
|
|
|
@ -21,6 +21,17 @@
|
|||
<!-- Form Name -->
|
||||
<legend>{% trans %}Ein XMPP-Konto registrieren{% endtrans %}</legend>
|
||||
|
||||
{% if errors %}
|
||||
<div class="alert alert-danger">
|
||||
<p>{% trans %}Bitte behebe folgende Fehler bevor du weiter machen kannst{% endtrans %}:</p>
|
||||
<ul>
|
||||
{% for error in errors %}
|
||||
<li>{{ error }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- Text input-->
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="username">{% trans %}Benutzername{% endtrans %}</label>
|
||||
|
|
Reference in a new issue