Validare - documentație phalcon 3

Componenta de validare de bază a Phalcon oferă următoarele reguli de validare:

Verificările suplimentare pot fi implementate independent. Următoarea clasă explică modul de creare a unei reguli de validare pentru această componentă:







Este important să rețineți că validatorii returnează o valoare booleană indicând dacă validarea a avut succes sau nu.

Verificarea prin intermediul funcției de apel invers¶

Cu Phalcon \ de validare \ Validator \ Callback, puteți efectua o funcție personalizată pe care ar trebui să returneze un boolean sau o nouă clasă de validator, care vor fi utilizate pentru a valida același domeniu. La revenirea adevarat test a fost de succes, return false pentru a indica faptul că autentificarea eșuează. Făcând acest lucru validator Phalcon va transmite date în funcție de ceea ce este - dacă este un obiect, obiectul, în caz contrar vor fi transmise datele. De exemplu:

Mesaje de validare¶

Componenta Phalcon \ Validation are un subsistem intern de mesagerie. Oferă o muncă flexibilă cu stocarea și generarea mesajelor de verificare generate în timpul auditului.

Fiecare mesaj constă dintr-o instanță a clasei Phalcon \ Validation \ Message. Un set de mesaje generate poate fi obținut folosind metoda getMessages (). Fiecare mesaj conține informații extinse - atribut, text și tip de mesaj:







Puteți trimite mesajul ca parametru implicit fiecărui validator:

În mod implicit, metoda getMessages () returnează toate mesajele generate de validator. Puteți filtra mesaje utilizând filtrul ():

Filtrarea datelor¶

Datele sunt filtrate pentru a vă asigura că datele dăunătoare sau incorecte nu vor fi pierdute de aplicație.

Filtrarea și curățarea se fac cu ajutorul componentei filtrului. Puteți adăuga propriile dvs. filtre sau puteți folosi filtre încorporate.

Evenimente de validare¶

Atunci când validarea este definită în clase, puteți implementa și metodele beforeValidation () și afterValidation (). Pentru a adăuga verificări suplimentare, curățare etc. Dacă înainteValidare () se întoarce "false", validarea nu va fi trecută:

Anularea validării¶

Implicit, toate validatoarele atribuite câmpului sunt verificate, indiferent dacă validarea unuia dintre ele a avut succes sau nu. Puteți schimba acest comportament dacă îi spuneți validatorului care se pronunță pentru a opri verificarea ulterioară:

Primul validatorul are capacitatea de a „cancelOnFail“ => true, astfel încât în ​​cazul în care validarea nu trece acest test, verificări suplimentare atunci sunt efectuate în lanț.

Dacă creați propriile validatoare, le puteți opri dinamic utilizând proprietatea 'cancelOnFail':

Evitarea verificării valorilor goale¶

Puteți trece opțiunea "allowEmpty" la toate validatoarele integrate pentru a evita verificarea care dintre ele va fi executată dacă se va trece o valoare goală:

Verificare recursivă

De asemenea, puteți rula instanțe de Validare în altul utilizând metoda afterValidation (). În acest exemplu, verificarea instanței CompanyValidation verifică, de asemenea, instanța PhoneValidation:







Trimiteți-le prietenilor: