Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OO] Formularze a obiekty
scanner
post
Post #1





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Dziaiaj podczas dyskusji z PMadejem wynikł temat obiektowej obsługi formularzy. Zaświtał mi w głowie taki schemacik, jaki podaję niżej. Oczywiscie nie gwarantuję, ze zadziała - ale myślę, że wystarczająco obrazuje mój tok myśłenia. Co sądzicie do tagiego podejścia do tematu walidacji dancy hz formularzy?

BTW: w kodzie wielu rzeczy nie ma, ale nie w tym sęk...
[php:1:5d9c559937]<?php
class Form
{
var $arrFormElements = NULL;
function Form()
{
$this->FormElements = array();
}

function CreateField( $strName )
{
$this->arrFormElements[$strFieldName] = new FormField();
}
}
class FormField
{
var $strName = '';
var $strType = '';
var $mixData = '';
var $blnRequired = false;
var $blnValid = false;
var $blnPattern = NULL;
var $mixPatternName = '';
var $arrErrors = NULL;

function FormField()
{
$this->arrErrors = array();
}

function Create()
{
$smarty->display( 'form_elements/'.$this->strFieldType.'.tpl' );
/**
* Zakładamy, ze mamy teplatesy typu: textarea, input, button itp.
*/
}

function ValidatePattern( )
{
if( $this->blnRequired )
{
$this->blnValid = !is_empty( $this->mixData );
if( !$this->blnValid )
{
$this->arrErrors[] = 'Must be filled';
}
}
if( !is_null( $this->$blnPattern ) )
{
$this->blnValid = preg_match($this->$blnPattern, $this->$blnData);
if( !$this->blnValid )
{
$this->arrErrors[] = 'Must be corrected '.$this->strPatternName.' value!';
}

}
}
}

/**
* Example of use
*/
$Form = new Form();
$Form->CreateField( 'pkwiu', true );
$Form->arrFormElements['pkwiu']->strType = 'input_text';
$Form->arrFormElements['pkwiu']->strData = $_POST['pkwiu'];
$Form->arrFormElements['pkwiu']->strPattern = '([0-9]{2}.[0-9]{1,2}.[0-9]{1,2}-[0-9]{1,2}.[0-9]{1,2})';
$Form->arrFormElements['pkwiu']->strPatternName = 'PKWiU';

$Form->arrFormElements['pkwiu']->ValidatePattern();
if( !$Form->arrFormElements['pkwiu']->blnValid )
{
$Form->arrFormElements['pkwiu']->Create();
foreach( $Form->arrFormElements['pkwiu']->arrErrors as $strError )
{
echo '<br />'.$strError;
}
}
?>
[/php:1:5d9c559937]
Go to the top of the page
+Quote Post

Posty w temacie
- scanner   [OO] Formularze a obiekty   5.04.2004, 22:28:19
- - halfik   hmmm... interesujące, sam nigdy się nie zastanawia...   5.04.2004, 23:10:50
- - scanner   W wolnych chwilach sponbuję rozbudowac to w coś wi...   5.04.2004, 23:17:19
- - PMadej   CytatW wolnych chwilach sponbuję rozbudowac to w c...   6.04.2004, 00:30:57
- - DeyV   Sądzę, że to bardzo dobry pomysł. Już jakiś czas ...   6.04.2004, 00:41:15
- - hawk   Hmm, ogólnie to co pokazuje Scanner i to co jest p...   6.04.2004, 08:37:49
- - hawk   Jeszcze dodam że walidacja powinna być zrobiona zg...   6.04.2004, 08:41:21
- - scanner   To co ja proponuję to tylko szkic, który powstał w...   6.04.2004, 09:18:59
- - halfik   Cytat2. Tworzymy tablicę z nazw pół i ich wartości...   6.04.2004, 10:36:31
- - DeyV   przeszukiwanie szablony byłoby, IMHO, bardzo złym ...   6.04.2004, 11:58:57
- - Ace   a nie latwiej jest... klasa generujaca formularz z...   6.04.2004, 13:23:21
- - halfik   heh, wygląda na to, ze należałoby jednak wszsytko ...   6.04.2004, 17:35:23
- - scanner   Musże przemyśleć kwestie czy stawiac na uniwersaln...   6.04.2004, 18:16:42
- - DeyV   Tu pojawi się problem potrzeb. Bo o ile np. takie...   6.04.2004, 18:41:26
- - halfik   hmm... chyba nie ma wyjścia i trzeba dobrać się np...   7.04.2004, 06:16:29
- - PMadej   no i przyszla kolej na moje swiateczne wypociny i ...   13.04.2004, 17:38:10
- - PMadej   problemy o ktorych wspomnialem na koncu poprzednie...   14.04.2004, 15:12:05
- - hawk   Mi się generalnie nie podoba opcja z generowaniem ...   14.04.2004, 16:51:31
- - Seth   Tez nie jestem zachwycony tego typu klasami gdyz j...   14.04.2004, 17:01:20
- - hawk   No czyli wypisz wymaluj WACT. Wada jest taka, że c...   14.04.2004, 18:52:51
- - marcin96   Czyli - jeśli dobrze rozumuję - chodzi o coś takie...   14.04.2004, 19:06:38
- - halfik   heh... faktycznie, to trzeba by wkręcić w jakiś sy...   14.04.2004, 19:07:38
- - marcin96   Cytatheh... faktycznie, to trzeba by wkręcić w jak...   14.04.2004, 19:18:12
- - hawk   Cytat2. Parsowanie pliku ustawień wizualnych ...   14.04.2004, 21:43:20
- - PMadej   ja tylko wyszczegolnie watek ktory zaniknal w toku...   14.04.2004, 22:06:22
- - hawk   Ten wątek wcale nie zaniknął. Byłoby to coś w styl...   15.04.2004, 08:52:16
- - PMadej   CytatDla przykładu: 1) jest formularz, pytanie o l...   15.04.2004, 20:06:41
- - hawk   Hmm, z drugiej strony ja zawsze myślałem że takie ...   15.04.2004, 22:15:14


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 15:30