CAUTĂ

CELE MAI VIZUALIZATE ARTICOLE DIN ACEASTĂ SĂPTĂMÂNĂ

Extend field validation options with regular expressions
ionut
06.02.2018

Uneori atunci cand construiesti site-uri cu Drupal este posibil sa constati necesitatea unor optiuni mai speciale de validare a campurilor. De exemplu daca doresti ca un utilizator sa poata introduce doar un anumit numar de caractere intr-un camp sau poate vrei sa accepti doar adrese de email de la un anumit domeniu sau domeniu "top level" atunci validarea prin expresii regulate poate fi cea mai buna optiune.

O expresie regulata este un sablon de cautare care poate fi folosit pentru a cauta intr-un sir de caractere. Multe limbaje de programare incorporeaza librarii si functii care folosesc algoritmi special proiectati pentru a lucra cu aceste expresii. PHP este un astfel de limbaj si putem sa dezlantuim aceasta putere si in Drupal. Cum? Folosind modulul Drupal RegEx Field Validation poate fi o modalitate.

RegEx Field Validation este un modul Drupal (compatibil cu Drupal 7 si Drupal 8) care pune la dispozitie o modalitate facila de a adauga optiuni de validare pe campurile din tipurile de continut. Dupa instalare, modulul furnizeaza un set de optiuni pe pagina de configurare a fiecarui camp de tip text al unui tip de continut:

  • Validare camp cu RegEx. Bifa pentru activare/dezactivare a validarii folosind o expresie regulata. Aceasta afiseaza/ascunde campul text pentru introducerea expresiei regulate si cel pentru mesajul particularizat de eroare.
  • Expresie Regulata. Camp text in care se completeaza expresia regulata ce va fi folosita pentru validarea informatiei din camp. 
  • Mesaj de eroare. Camp text care va contine mesajul particularizat de eroare ce va fi afisat atunci cand nu se valideaza campul.

Desi mai sunt si alte module ce pot fi folosite pentru validarea campurilor, acesta este foarte simplu si e orientat catre o problema specifica. Are versiuni pentru Drupal 7 si Drupal 8 si este mentinut intr-un mod constant.

Cateva exemple de expresii regulate ce poti fi folosite: 

\^[^<\x09]{0,100}\Z\

Text ce contine intre 0 si 100 caractere.

\^[AaBb]\Z\

1 caracter dintre A, a, B sau b.

\^(http|https):\/\/.{2,80}\Z\

URL care incepe cu “http” sau “https” si contine intre 2 si 80 caractere.

\^.{2,40}\@.{2,50}\..{2,5}\Z\

Adresa email care contine intre 2 si 40 caractere inainte de “@”, si apoi intre 2 si 50 de caractere ca si domeniu si intre 2 si 5 pentru domeniul top level

\^(ABC|DEF|GHI|JKL|MNO|PQR|STU|VWX)?\Z\

Accepta un sir de 3 caractere din acea lista (ABC, DEF, GHI ....)

\^([0-9]+(\.[0-9]{2})?)?\Z<\

Numar cu punct zecimal (29.99)

\^[0-9.]{1,8}\Z<\

Valoare numerica intre 1 si 8 cifre

\^[^<\x09\x0a\x0d]{0,10}\Z\

O singura linie ce contine intre 0 si 10 caractere fara markup HTML

\^[^<]{0,100}\Z\

Mai multe linii de caractere ce contin intre 0 si 100 caractere fara markup HTML

\^[^<\x09\x0a\x0d]{0,1000}\Z\

Text ce contine intre 0 si 1000 caractere, numere si spatii

 

Il poti testa si tu de aici

Relevant pentru ...

drupal 8, drupal 7, field, validation, regular expressions, error

Postează un comentariu