Code: Definicja regul pol obowiazkowych
Z Motława
Algorytm walidacji pól
Mechanizm definiowanej walidacji pól aktywowany jest kluczem w Rejestrze systemowym o nazwie walidacja_pol_aktywna.
Struktury tabel odpowaidających za definicje walidacji pól:
Tabela sys_fld_validator_ng
| Field | Type | Null | Key | Default |
|---|---|---|---|---|
| idn | int(11) | NO | PRI | NULL |
| GUID | varchar(38) | NO | UNI | |
| coreid | varchar(38) | NO | MUL | |
| rule_operator | int(11) | NO |
Tabela sys_fld_validator_po
| Field | Type | Null | Key | Default | Extra |
|---|---|---|---|---|---|
| idn | int(11) | NO | PRI | NULL | auto_increment |
| GUID | varchar(38) | NO | UNI | ||
| GUID_NG | varchar(38) | NO | MUL | ||
| fieldname | varchar(38) | NO | |||
| rule_order | int(11) | NO | 0 | ||
| admin | int(11) | NO | 0 | ||
| validation_rule_type | varchar(20) | YES | NULL | ||
| validation_rule | varchar(200) | YES | NULL | ||
| condition_ruleset_guid | varchar(38) | NO | MUL | ||
| message_if_not_valid | text | YES | NULL |
Pole validation_rule przyjmuje wartości:
NOT NULL, NOT EMPTY, EQ, NOT EQ, LESS, LESS EQ, GREATER, GREATER EQ, LENGTH EQ, LENGTH MAX, LENGTH MIN DEFAULT ?, CONDITION
Przykładowe definicje walidacji:
Przykład 1:
Karta kontrahenta, pole katcol0 ma być różne od 0. Definicja: Tabela sys_fld_validator_ng insert into sys_fld_validator_ng values (0,'K_katcol0_rule1','K_',0); Tabela sys_fld_validator_po insert into sys_fld_validator_po values (0,'K_katcol0_rule1_1','K_katcol0_rule1','katcol0',0,0,'NOT EMPTY',,,'Wartosc pierwszej kategorii kolumnowej musi byc okreslona! ');
Edycja operacji sprzedaży (grupaoper=0), pole katcol0 ma być różne od 0. Definicja: Tabela sys_fld_validator_ng insert into sys_fld_validator_ng values (0,'O_katcol0_rule1','O_',0),(0,'O_katcol0_cond1',,0); Tabela sys_fld_validator_po insert into sys_fld_validator_po values (0,'O_katcol0_rule1_1','O_katcol0_rule1','katcol0',0,0,'NOT EMPTY',,'O_katcol0_cond1', 'Wartosc pierwszej kategorii kolumnowej musi byc okreslona! '), (0,'O_katcol0_cond1_1','O_katcol0_cond1','grupaoper',0,0,'EQ','0',,);