Documentation de références des types de propriétés pour les objets métier
Imprimer

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 (external link).

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.

email
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 Fabien2050 points  , Basé sur le travail de lryo10166 points  , sully599 points  , maskas949 points  , mytto14499 points  et rhum15512 points  .
Modifiée dernièrement le mardi 16 de juin, 2009 19h43m48.

Sponsors privilégiés

Mediboard project