Documentation de références des types de propriétés pour les objets métier
Spécifications de propriétés
Présentation
Mediboard utilise un framework de spécifications de propriétés pour permettant un certain nombre de services, parmi lesquels :
- Validation en PHP avant sauvegarde
- Validation en Javascript avant envoi
- Génération des colonnes SQL
- Génération d'éléments de formulaires
- Formatage de l'affichage de valeurs
- Formatage des entêtes de colonnes
Plus d'informations sont disponibles sur l'API de la classe classes/mbFieldSpec.
![]()
Il existe deux types de propriétés :
- les proprietés de classe, définies dans la méthode getSpec() de CMbObject :
function getSpec() { // Pour la classs CPatients
$spec = parent::getSpec();
$spec->table = 'patients';
$spec->key = 'patient_id';
$spec->measureable = true;
return $spec;
}
- les proprietés des attributs des CMbObject :
function getProps() {
$specs = parent::getProps();
$specs["nom"] = "str notNull confidential seekable|begin";
$specs["prenom"] = "str notNull seekable|begin";
$specs["prenom_2"] = "str";
$specs["prenom_3"] = "str";
// ...
Voici les différentes spécifications disponibles pour les attributs des CMbObject :
Propriétés globales
- notNull
- l'élément ne peut pas être vide/null.
- confidential
- permet de crypter un champ si la configuration hide_confidential est active
- moreThan|field
- l'élément doit être supérieur à un autre champ
- moreEquals|field
- l'élément doit être supérieur ou égal à un autre champ
- sameAs|field
- l'élément doit être identique à un autre champ
- notContaining|"field"
- la chaîne de caractère de l'élément ne doit pas contenir la chaîne de l'élement cible
- notNear|"field"
- la chaîne de caractère de l'élément doit avoir une distance d'au moins 3 (en se basant sur la distance de Levenshtein
- xor|field
- permet d'effectuer un XOR avec un autre champ
Types génériques
- ref
- référence numérique. Elle ne peut pas être égale à 0.
- class|objectClassName : Classe à laquelle s'applique la référence
- meta|metaField : Autre champ qui définit dynamiquement la classe, d'où l'aspect meta-donnée (reflexivité)
- str
- Chaine de caractères.
- length|num : permet de spécifier une taille requise (comprise entre 1 et 255).
- minLength|num : permet de spécifier une taille minimale requise (comprise entre 1 et 255).
- maxLength|num : permet de spécifier une taille maximale requise (comprise entre 1 et 255).
- alphaAndNum: la chaîne doit être composée de lettre ET de chiffres (utile pour la vérification de la solidité des mots de passe)
- numchar
- Chaine numérique.
- Possède le même jeu de paramètres que num
- num
- Chaine numérique.
- length|num : permet de spécifier une taille requise.
- min|num : l'élément ne peut être inférieur à cette valeur
- max|num : l'élément ne peut être supérieur à cette valeur
- pos : l'élément doit être strictement positif.
- minLength|num : permet de spécifier une taille minimale requise.
- maxLength|num : permet de spécifier une taille maximale requise.
- date
- Date au format mysql (YYYY-MM-DD).
- time
- Time au format mysql (HH:MM:SS).
- dateTime
- DateTime au format mysql (YYYY-MM-DD HH:MM:SS).
- currency
- Format monétaire.
- Possède le même jeu de paramètres que float
- float
- Format numérique décimal
- min|num : l'élément ne peut être inférieur à cette valeur
- max|num : l'élément ne peut être supérieur à cette valeur
- pos : l'élément doit être strictement positif.
- text
- texte libre, souvent un textarea dans un formulaire. Peut-être promu au rang html si besoin de formatage.
- html
- Elément HTML. Permet de supprimer différents tags inutiles souvent créés à la suite de l'utilisation de FCKEditor.
- bool
- Elément booléen ne pouvant prendre que les valeurs 0 et 1.
- L'élément doit avoir un format correspondant à une adresse e-mail.
- enum
- Liste d'énumération de valeurs
- list|values : Permet de définir la liste des valeurs possible pour la liste. Les différentes valeurs doivent être séparées par |
- pct
- Format numérique décimal
- xml
- Chaîne xml
Type spécifiques à Mediboard
- code
- Codes spécifiques aux métiers de la santé
- ccam : Code CCAM, permissif pour le moment.
- cim10 : Code CIM10, permissif pour le moment.
- adeli : Numéro Adeli de professionnel de santé
- insee : Numéro de sécurité social d'un assuré. Il faudrait également vérifier la validité de la clé.
- product_order : Numéro de commandé, basé sur le modèle donné dans la configuration du module de stocks
- siret : Numéro de SIRET
Dernièrement modifié par Fabien
, Basé sur le travail de
lryo
,
sully
,
maskas
,
mytto
et
rhum1
.
Modifiée dernièrement le mardi 16 de juin, 2009 19h43m48.
