Vérification pre-submit pour toutes les pages (créations)
This commit is contained in:
parent
a07a23e856
commit
58cb185407
|
@ -3,7 +3,12 @@ require('autoloader.php');
|
||||||
if(!Authentification::checkUser(0)){
|
if(!Authentification::checkUser(0)){
|
||||||
header("Location: http://".$_SERVER['HTTP_HOST']."/index.php");
|
header("Location: http://".$_SERVER['HTTP_HOST']."/index.php");
|
||||||
die();
|
die();
|
||||||
};?>
|
};
|
||||||
|
|
||||||
|
// formattage $_GET['type']
|
||||||
|
$answerType = (isset($_GET['type'])) ? $_GET['type'] : null;
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
@ -45,7 +50,18 @@ if(!Authentification::checkUser(0)){
|
||||||
<!-- FIL D'ARIANE -->
|
<!-- FIL D'ARIANE -->
|
||||||
<div id='BREADCRUMB'><a href='Dashboard.php'>Accueil</a> <a href='Consultations.php'>Consultations</a></a> </div>
|
<div id='BREADCRUMB'><a href='Dashboard.php'>Accueil</a> <a href='Consultations.php'>Consultations</a></a> </div>
|
||||||
|
|
||||||
<?php/********************************/
|
<?php if( $answerType != null ){
|
||||||
|
|
||||||
|
echo '<span>';
|
||||||
|
switch($answerType){
|
||||||
|
case 'creation': echo 'Patient créé.'; break;
|
||||||
|
case 'error': echo 'Une erreur est survenue.'; break;
|
||||||
|
default: echo 'rien à déclarer ? Non!'; break;
|
||||||
|
}
|
||||||
|
echo '</span>';
|
||||||
|
|
||||||
|
}
|
||||||
|
/*************************************/
|
||||||
/* SAISIR UN RENDEZ-VOUS */
|
/* SAISIR UN RENDEZ-VOUS */
|
||||||
/*************************************/ ?>
|
/*************************************/ ?>
|
||||||
<article data-title="Saisir un rendez-vous">
|
<article data-title="Saisir un rendez-vous">
|
||||||
|
@ -68,13 +84,13 @@ if(!Authentification::checkUser(0)){
|
||||||
</select><span class='associated'>Médecin traitant du patient.</span>
|
</select><span class='associated'>Médecin traitant du patient.</span>
|
||||||
</div><br>
|
</div><br>
|
||||||
|
|
||||||
<input type='text' id='inDate' name='date' placeholder='jj/mm/aaaa'><span class='info'>Date de la consultation</span><br>
|
<input type='text' id='inDate' name='date' placeholder='jj/mm/aaaa' required><span class='info'>Date de la consultation</span><br>
|
||||||
<input type='text' id='inHeure' name='heure' placeholder='HH:MM'><span class='info'>Heure de la consultation</span><br>
|
<input type='text' id='inHeure' name='heure' placeholder='HH:MM' required><span class='info'>Heure de la consultation</span><br>
|
||||||
<input type='text' id='inDuree' name='duree' placeholder='minutes'><span class='info'>Durée de la consultation</span><br>
|
<input type='text' id='inDuree' name='duree' placeholder='minutes' required><span class='info'>Durée de la consultation</span><br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<input type='hidden' name='command' value='Consultation:add'>
|
<input type='hidden' name='command' value='RDV:add'>
|
||||||
<input type='submit' value='Enregistrer la consultation'>
|
<input type='submit' id='sbCreer' value='Enregistrer la consultation'>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
@ -87,7 +103,7 @@ if(!Authentification::checkUser(0)){
|
||||||
/*************************************/ ?>
|
/*************************************/ ?>
|
||||||
<article data-title="Numéro de sécurité sociale">
|
<article data-title="Numéro de sécurité sociale">
|
||||||
<div>
|
<div>
|
||||||
<input type='radio' name='filter_c' id='tousRDV'><label for='tousRDV'>Toutes les consultations</label><br>
|
<input type='radio' name='filter_c' id='tousRDV' checked><label for='tousRDV'>Toutes les consultations</label><br>
|
||||||
<input type='radio' name='filter_c' id='pastRDV'><label for='pastRDV'>Consultations passées</label><br>
|
<input type='radio' name='filter_c' id='pastRDV'><label for='pastRDV'>Consultations passées</label><br>
|
||||||
<input type='radio' name='filter_c' id='fturRDV'><label for='fturRDV'>Consultations à venir</label><br>
|
<input type='radio' name='filter_c' id='fturRDV'><label for='fturRDV'>Consultations à venir</label><br>
|
||||||
<input type='submit' value='Rechercher'>
|
<input type='submit' value='Rechercher'>
|
||||||
|
|
26
Medecins.php
26
Medecins.php
|
@ -3,7 +3,12 @@ require('autoloader.php');
|
||||||
if(!Authentification::checkUser(0)){
|
if(!Authentification::checkUser(0)){
|
||||||
header("Location: http://".$_SERVER['HTTP_HOST']."/index.php");
|
header("Location: http://".$_SERVER['HTTP_HOST']."/index.php");
|
||||||
die();
|
die();
|
||||||
};?>
|
};
|
||||||
|
|
||||||
|
// formattage $_GET['type']
|
||||||
|
$answerType = (isset($_GET['type'])) ? $_GET['type'] : null;
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
@ -46,21 +51,32 @@ if(!Authentification::checkUser(0)){
|
||||||
<!-- FIL D'ARIANE -->
|
<!-- FIL D'ARIANE -->
|
||||||
<div id='BREADCRUMB'><a href='Dashboard.php'>Accueil</a> <a href='Medecins.php'>Gestion des médecins</a></a> </div>
|
<div id='BREADCRUMB'><a href='Dashboard.php'>Accueil</a> <a href='Medecins.php'>Gestion des médecins</a></a> </div>
|
||||||
|
|
||||||
<?php/********************************/
|
<?php if( $answerType != null ){
|
||||||
|
|
||||||
|
echo '<span>';
|
||||||
|
switch($answerType){
|
||||||
|
case 'creation': echo 'Médecin créé.'; break;
|
||||||
|
case 'error': echo 'Une erreur est survenue.'; break;
|
||||||
|
default: echo 'rien à déclarer ? Non!'; break;
|
||||||
|
}
|
||||||
|
echo '</span>';
|
||||||
|
|
||||||
|
}
|
||||||
|
/*************************************/
|
||||||
/* AJOUTER UN MÉDECIN */
|
/* AJOUTER UN MÉDECIN */
|
||||||
/*************************************/ ?>
|
/*************************************/ ?>
|
||||||
<article data-title="Ajouter un médecin">
|
<article data-title="Ajouter un médecin">
|
||||||
<form method='POST' action='managers/'>
|
<form method='POST' action='managers/'>
|
||||||
<br><h4>Ajout d'un nouveau médecin</h4>
|
<br><h4>Ajout d'un nouveau médecin</h4>
|
||||||
<input type='text' id='crPrenom' name='prenom' placeholder='Prénom' value=''><br>
|
<input type='text' id='crPrenom' name='prenom' placeholder='Prénom' value='' required><br>
|
||||||
<input type='text' id='crNom' name='nom' placeholder='NOM' value=''><br>
|
<input type='text' id='crNom' name='nom' placeholder='NOM' value='' required><br>
|
||||||
|
|
||||||
<input type='radio' name='civilite' value='M' id='civ1' checked><label for='civ1'>Homme</label><br>
|
<input type='radio' name='civilite' value='M' id='civ1' checked><label for='civ1'>Homme</label><br>
|
||||||
<input type='radio' name='civilite' value='F' id='civ2'><label for='civ2'>Femme</label><br>
|
<input type='radio' name='civilite' value='F' id='civ2'><label for='civ2'>Femme</label><br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<input type='hidden' name='command' value='Medecin:add'>
|
<input type='hidden' name='command' value='Medecin:add'>
|
||||||
<input type='submit' value='Créer le médecin'>
|
<input type='submit' id='sbCreer' value='Créer le médecin'>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</article>
|
</article>
|
||||||
|
|
|
@ -7,6 +7,7 @@ if(!Authentification::checkUser(0)){
|
||||||
|
|
||||||
// formattage $_GET['type']
|
// formattage $_GET['type']
|
||||||
$answerType = (isset($_GET['type'])) ? $_GET['type'] : null;
|
$answerType = (isset($_GET['type'])) ? $_GET['type'] : null;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
|
@ -48,15 +49,14 @@ $answerType = (isset($_GET['type'])) ? $_GET['type'] : null;
|
||||||
<section id='CONTAINER'>
|
<section id='CONTAINER'>
|
||||||
|
|
||||||
<!-- FIL D'ARIANE -->
|
<!-- FIL D'ARIANE -->
|
||||||
<div id='BREADCRUMB'><a href='Dashboard.php'>Accueil</a> <a href='Medecins.php'>Gestion des médecins</a></a> </div>
|
<div id='BREADCRUMB'><a href='Dashboard.php'>Accueil</a> <a href='Patients.php'>Gestion des Patients</a></a> </div>
|
||||||
|
|
||||||
<?php if( $answerType != null ){
|
<?php if( $answerType != null ){
|
||||||
|
|
||||||
echo '<span>';
|
echo '<span>';
|
||||||
switch($answerType){
|
switch($answerType){
|
||||||
|
case 'creation': echo 'Patient créé.'; break;
|
||||||
|
case 'error': echo 'Une erreur est survenue.'; break;
|
||||||
|
|
||||||
default: echo 'rien à déclarer ? Non!'; break;
|
default: echo 'rien à déclarer ? Non!'; break;
|
||||||
}
|
}
|
||||||
echo '</span>';
|
echo '</span>';
|
||||||
|
|
|
@ -456,6 +456,7 @@ body{
|
||||||
-o-transition: all .2s ease-in-out;
|
-o-transition: all .2s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#CONTAINER > article input:hover + .info,
|
||||||
#CONTAINER > article input:focus + .info{
|
#CONTAINER > article input:focus + .info{
|
||||||
color: #afafaf;
|
color: #afafaf;
|
||||||
border-color: #afafaf;
|
border-color: #afafaf;
|
||||||
|
@ -557,17 +558,11 @@ input[type=radio] + label:before{
|
||||||
|
|
||||||
/* @active + label */
|
/* @active + label */
|
||||||
input[type=radio]:active + label:before{
|
input[type=radio]:active + label:before{
|
||||||
transform: scale(.8);
|
transform: rotate(360deg) scale(.9);
|
||||||
-moz-transform: scale(.8);
|
-moz-transform: rotate(360deg) scale(.9);
|
||||||
-webkit-transform: scale(.8);
|
-webkit-transform: rotate(360deg) scale(.9);
|
||||||
-ms-transform: scale(.8);
|
-ms-transform: rotate(360deg) scale(.9);
|
||||||
-o-transform: scale(.8);
|
-o-transform: rotate(360deg) scale(.9);
|
||||||
|
|
||||||
transform: rotate(360deg);
|
|
||||||
-moz-transform: rotate(360deg);
|
|
||||||
-webkit-transform: rotate(360deg);
|
|
||||||
-ms-transform: rotate(360deg);
|
|
||||||
-o-transform: rotate(360deg);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -577,11 +572,11 @@ input[type=radio]:checked + label:before{
|
||||||
background-size: 50% auto;
|
background-size: 50% auto;
|
||||||
|
|
||||||
/* animation */
|
/* animation */
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg) scale(1.2);
|
||||||
-moz-transform: rotate(360deg);
|
-moz-transform: rotate(360deg) scale(1.2);
|
||||||
-webkit-transform: rotate(360deg);
|
-webkit-transform: rotate(360deg) scale(1.2);
|
||||||
-ms-transform: rotate(360deg);
|
-ms-transform: rotate(360deg) scale(1.2);
|
||||||
-o-transform: rotate(360deg);
|
-o-transform: rotate(360deg) scale(1.2);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ var inCk = new inputChecker();
|
||||||
var inDate = document.getElementById('inDate');
|
var inDate = document.getElementById('inDate');
|
||||||
var inHeure = document.getElementById('inHeure');
|
var inHeure = document.getElementById('inHeure');
|
||||||
var inSecu = document.getElementById('inSecu');
|
var inSecu = document.getElementById('inSecu');
|
||||||
|
var sbCreer = document.getElementById('sbCreer');
|
||||||
|
|
||||||
// format de date simplifié
|
// format de date simplifié
|
||||||
var dateFormat = new formatChecker(null,
|
var dateFormat = new formatChecker(null,
|
||||||
|
@ -132,3 +132,38 @@ inSecu.addEventListener('keyup', function(e){
|
||||||
// inDate.value = 'x3 F3/a8';
|
// inDate.value = 'x3 F3/a8';
|
||||||
// inHeure.value = 'x3 F3/a8';
|
// inHeure.value = 'x3 F3/a8';
|
||||||
inSecu.value = '1 96 01 31 555 861';
|
inSecu.value = '1 96 01 31 555 861';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////
|
||||||
|
// VERIFICATION DU SUBMIT() //
|
||||||
|
//////////////////////////////
|
||||||
|
sbCreer.addEventListener('click', function(e){
|
||||||
|
e.preventDefault(); // on annule le submit()
|
||||||
|
|
||||||
|
var formElements = sbCreer.parentNode.children;
|
||||||
|
var checker = true;
|
||||||
|
|
||||||
|
// pour chaque <input type='text'> du formulaire (fils direct uniquement)
|
||||||
|
for( var i = 0 ; i < formElements.length ; i++ ){ if( formElements[i] instanceof HTMLInputElement && formElements[i].type == 'text' ){
|
||||||
|
// si le champ est requis (required)
|
||||||
|
if( formElements[i].required )
|
||||||
|
checker = checker && formElements[i].className.indexOf('validated') > -1; // TRUE => validé (niveau interface)
|
||||||
|
// si le champ n'est pas requis et pas vide, on le vide
|
||||||
|
else if( formElements[i].value != '' && formElements[i].className.indexOf('validated') < 0 ) // si incorrect et pas vide
|
||||||
|
formElements[i].value = ''; // on vide
|
||||||
|
}}
|
||||||
|
|
||||||
|
var inputCheckerValid = inCk.check(inDate) && inCk.check(inHeure);
|
||||||
|
var selectNoDefault = newRDVPatient.value != '*' && newRDVMedecin.value != '*';
|
||||||
|
|
||||||
|
console.log( inputCheckerValid );
|
||||||
|
console.log( checker );
|
||||||
|
console.log( selectNoDefault );
|
||||||
|
|
||||||
|
|
||||||
|
if( inputCheckerValid && checker && selectNoDefault ) // si tout es ok uniquement, on submit()
|
||||||
|
sbCreer.parentNode.submit();
|
||||||
|
}, false);
|
|
@ -1,6 +1,6 @@
|
||||||
var crPrenom = document.getElementById('crPrenom');
|
var crPrenom = document.getElementById('crPrenom');
|
||||||
var crNom = document.getElementById('crNom');
|
var crNom = document.getElementById('crNom');
|
||||||
|
var sbCreer = document.getElementById('sbCreer');
|
||||||
|
|
||||||
|
|
||||||
/* VERIFICATION DES SAISIES */
|
/* VERIFICATION DES SAISIES */
|
||||||
|
@ -38,3 +38,25 @@ crNom.addEventListener('keyup', function(e){
|
||||||
remClass(crNom, 'invalid');
|
remClass(crNom, 'invalid');
|
||||||
}
|
}
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
sbCreer.addEventListener('click', function(e){
|
||||||
|
e.preventDefault(); // on annule le submit()
|
||||||
|
|
||||||
|
var formElements = sbCreer.parentNode.children;
|
||||||
|
var checker = true;
|
||||||
|
|
||||||
|
// pour chaque <input type='text'> du formulaire (fils direct uniquement)
|
||||||
|
for( var i = 0 ; i < formElements.length ; i++ ){ if( formElements[i] instanceof HTMLInputElement && formElements[i].type == 'text' ){
|
||||||
|
// si le champ est requis (required)
|
||||||
|
if( formElements[i].required )
|
||||||
|
checker = checker && formElements[i].className.indexOf('validated') > -1; // TRUE => validé (niveau interface)
|
||||||
|
// si le champ n'est pas requis et pas vide, on le vide
|
||||||
|
else if( formElements[i].value != '' && formElements[i].className.indexOf('validated') < 0 ) // si incorrect et pas vide
|
||||||
|
formElements[i].value = ''; // on vide
|
||||||
|
}}
|
||||||
|
|
||||||
|
if( checker ) // si tout es ok uniquement, on submit()
|
||||||
|
sbCreer.parentNode.submit();
|
||||||
|
}, false);
|
|
@ -20,6 +20,9 @@ inCk.append( inSecu, secuFormat, '1 99 19 99 999 999 99'); // on ajoute le
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// var completeAccentList = "àAAÀAAÁÂÒÓÔÕÖØòÒÓÔÕ-ÖØòó_ôõöøÈÉÊËèéêëÇçÒÓÔÕÖØòÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
|
||||||
|
var accentList = 'àÀÈÉÊËèéêëçîïúû';
|
||||||
|
|
||||||
/* Met à jour l'état visuel d'un <input> si sa valeur correspond aux initères
|
/* Met à jour l'état visuel d'un <input> si sa valeur correspond aux initères
|
||||||
*
|
*
|
||||||
* @pInputElement<HTMLInputElement> l'élément <input> en question
|
* @pInputElement<HTMLInputElement> l'élément <input> en question
|
||||||
|
@ -33,8 +36,8 @@ function checkVARCHAR(pInputElement, pMinLength, pMaxLength, optAlpha){
|
||||||
|
|
||||||
var varcharRegExp;
|
var varcharRegExp;
|
||||||
|
|
||||||
if( optAlpha ) varcharRegExp = new RegExp('^([a-z]{'+pMinLength+','+pMaxLength+'})$', 'i'); // only alpha characters
|
if( optAlpha ) varcharRegExp = new RegExp('^(['+accentList+'a-z]{'+pMinLength+','+pMaxLength+'})$', 'i'); // only alpha characters
|
||||||
else varcharRegExp = new RegExp('^([\\w -]{'+ pMinLength+','+pMaxLength+'})$', 'i'); // any word character
|
else varcharRegExp = new RegExp('^(['+accentList+'\\w -]{'+ pMinLength+','+pMaxLength+'})$', 'i'); // any word character
|
||||||
|
|
||||||
if( pInputElement.value.match(varcharRegExp) != null || pInputElement.value == '' ){ // si champ correct
|
if( pInputElement.value.match(varcharRegExp) != null || pInputElement.value == '' ){ // si champ correct
|
||||||
addClass(pInputElement, 'validated');
|
addClass(pInputElement, 'validated');
|
||||||
|
|
Loading…
Reference in New Issue