Obsah fóra www.proxima-soft.sk www.proxima-soft.sk
Px Framework - ASP.NET komponenty pre rýchly vývoj databázových aplikácii
 
 FAQFAQ   HľadaťHľadať   Zoznam užívateľovZoznam užívateľov   Užívateľské skupinyUžívateľské skupiny   RegistráciaRegistrácia 
 NastaveniaNastavenia   Súkromné správySúkromné správy   PrihláseniePrihlásenie 

Ako validovat dáta prostredníctvom PxEdit?

 
Pridať novú tému   Zaslať odpoveď    Obsah fóra www.proxima-soft.sk -> PxEdit - komponenta pre editáciu dát
Zobraziť predchádzajúcu tému :: Zobraziť nasledujúcu tému  
Autor Správa
Juraj



Založený: 26 január 2011
Príspevky: 17
Bydlisko: Brezno

PríspevokZaslal: St január 26, 2011 10:37 am    Predmet: Ako validovat dáta prostredníctvom PxEdit? Odpovedať s citátom

Ako validovať dáta prostredníctvom komponenty PxEdit?
Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu
admin
Site Admin


Založený: 17 jún 2010
Príspevky: 54
Bydlisko: ŠKODA Peter, PODBREZOVÁ

PríspevokZaslal: St január 26, 2011 10:49 am    Predmet: Validácia, kontrola zadaných hodnot... Odpovedať s citátom

Validácia, kontrola zadaných hodnôt prostredníctvom komponenty PxWebQuery a ostatných vizuálnych komponent(PxEdit, PxComboBox a atď.)

Komponenta PxWebQuery prostredníctvom komponenty PxEdit(ale aj PxComboBox, PxFlyComboBox, PxJSDatePicker a pod.) obsahuje automatickú validáciu. Ak stĺpec tabuľky, ktorý je pripojený na komponentu PxEdit je typu string, je automaticky prevádzaná validácia dĺžky reťazca, ak je typu int, validuje sa či bolo zadané celé číslo, ak je typu date, validuje sa či bol zadaný validný dátum a pod.
Na obrázku je príklad, kde sme zadali reťazec, ktorý svojou dĺžkou presahoval dĺžku reťazca stanoveného v databáze. Ďalej sme zadali dátum, ktorý nebol validný. Prepojením komponenty PxWebQuery a PxEdit sa vytvára automatická validácia. Ak zadaná hodnota v komponente PxEdit nekorešponduje z daným typom, neprejde cez automatickú validáciu, je automaticky zastavené ukladanie dát, a za komponentu PxEdit, je vypísaná chybová správa, prečo nedošlo ku uloženiu dát.



Okrem automatickej validácie, môžeme ešte definovať na komponente PxWebQuery, ďalšie doplnkové validácie, ktoré sa definujú cez parameter AddParamValidation.

kód:
wquAdresar.AddParamValidation("name", "vtIsNotNull");


V tomto prípade, pokiaľ nebude vyplnená položka "Meno Osoby", tak nedôjde ku uloženiu dát, a pri stlačení tlačítka "Ok", zostaneme v pôvodnom formulári, a za komponentu "Meno Osoby" nám vypíše chybovú hlášku. Viac na obrázku dole:



Podobne ak na stĺpec právnej formy, tiež uvalíme parameter validácie s typom validácie "vtIsNotNull", pri stlačení tlačítka "Ok", zostaneme v pôvodnom formuláry pokiaľ, nevybereme nejakú hodnotu zo zoznamu "Právnej formy". Príkaz na zadanie parametra validácie pre právnu formu bude vyzerať nasledovne:

kód:
wquAdresar.AddParamValidation("idpravnaforma", "vtIsNotNull");


Ak z comboboxu nevybereme žiadnu právnu formu, tak pri ukladaní dát, cez tlačítko "Ok", ostaneme v pôvodnom formulári, a červenými písmenami bude zobrazená príčina prečo nedošlo ku uloženiu formulára, viac obrázok dole.



Definícia príkazu AddParamValidation:

kód:
public void AddParamValidation(string sFieldName, string sEnumValidationTest,
            string sRegularExpression, Int32 iMinMaxValue, string sErrorMsg)

public void AddParamValidation(string sFieldName, string sEnumValidationTest,
            Int32 iMinMaxValue)

public void AddParamValidation(string sFieldName, string sEnumValidationTest)


Popis parametrov príkazu AddParamValidation:

sFieldName - názov, meno fieldu, stĺpca na ktorý sa má uvaliť daný typ validácie
sEnumValidationTest - typ validácie, kontroly, ktorá sa má vykonať, popis jednotlivých typov, bude uvedený ďalej
sRegularExpression - výraz pre zadanie validácie cez regulárne výrazy
iMinMaxValue - minimálna, maximálna hodnota výrazu, pri zadanom type fieldu typu integer
sErrorMsg - cez tento výraz, môžeme pri danom type validácie prepísať, alebo zadať novú chybovú správu



Každý typ validácie, má pevne pridelenú chybovú spravu. Ak by sme chceli túto chybovú spravu zmeniť, ak nám nevyhovuje jej doslovné znenie, môžeme to urobiť nasledujúcim spôsobom:

kód:
wquAdresar.AddParamValidation("name", "vtIsNotNull", "", 0, "Nezadali ste meno osoby !!!");


Ďalej si uvedieme príklad validácie cez regulárne výrazy.
Nie je obsahom, tejto knihy popisovať prácu z regulárnymi výrazmi, a to ako sa zostavujú, tu Vás môžeme odkázať len na početné zdroje na internete.

Tabuľku adresár sme rozšírili o ďalší stĺpec, a to o stĺpec na zadávanie PSČ.
Do súboru Adresar.aspx.cs, si validáciu prostredníctvom regulárneho výrazu zadefinujeme nasledovne:

kód:
string sRegVyrazToPSC = @"^\d{5}$|^\d{3}\s\d{2}$";
wquAdresar.AddParamValidation("psc", "vtValidToRegularExpression", sRegVyrazToPSC, 0, "Nezadali ste platné poštové smerovacie číslo !!!");


Zadefinovaný regulárny výraz nám umožní zadať 5 miestne číslo, a to buď z medzerou po 3 čísle, alebo bez medzery. Vždy keď chceme validovať cez regulárny výraz, musíme zadať typ validácie "vtValidToRegularExpresion". Ak sme si takto zadefinovali validáciu pre položku PSČ, tak pri nesprávnom zadaní PSČ, sa formulár neuloží, a zastaví sa jeho ukladanie. Za komponentou PSČ nám vráti chybovú správu, ktorú sme si zadefinovali vo výraze "ErrorMsg", viac obrázok.

Návrat hore
Zobrazit informácie o autorovi Odoslať súkromnú správu Odoslať e-mail Zobraziť autorové WWW stránky
Zobraziť príspevky z predchádzajúcich:   
Pridať novú tému   Zaslať odpoveď    Obsah fóra www.proxima-soft.sk -> PxEdit - komponenta pre editáciu dát Časy uvádzané v GMT + 1 hodina
Strana 1 z 1

 
Prejdi na:  
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.


Powered by phpBB © 2001, 2005 phpBB Group
phpBB podpora - Slovenský preklad - www.pcforum.sk