Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Cake]Dane z formularza z widoku
andre13
post 31.05.2014, 12:48:18
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 31.05.2014

Ostrzeżenie: (0%)
-----


Chcę stworzyć w modelu funkcję sprawdzającą poprawność numer pesel. Potrzebuje do tego dwóch danych z formularza- pesel i płeć. Jak odczytać te dane w modelu?

Mój formularz w Widoku wygląda następująco:
  1. echo $this->Form->input('Patient.firstname');
  2. echo $this->Form->input('Patient.lastname');
  3. echo $this->Form->input('Patient.pesel');
  4.  
  5. echo $this->Form->input('Patient.birth_date',array(
  6. 'label'=>'Data urodzenia',
  7. 'dateFormat'=>'DMY',
  8. 'minYear'=> date('Y')-100,
  9. 'maxYear'=> date('Y'),
  10. ));
  11. echo $this->Form->input('Patient.sex', array(
  12. 'options' => array('Male'=>'Mężczyzna', 'Female'=>'Kobieta'),
  13. ));

A walidacja w modelu tak:

  1. public $validate = array(
  2. 'pesel'=>array(
  3. 'pes' =>array(
  4. 'rule' => 'pess',
  5. 'message' => 'Błędny pesel')
  6. ));
  7.  
  8. public function pess($data){
  9. $w=array(1,3,7,9,1,3,7,9,1,3);
  10. $pes=str_split($data['pesel']);
  11. $wk=0;
  12. if(sizeof($pes)==11){
  13. for ($i=0;$i<=9;$i++){
  14. $wk=($wk+$pes[$i]*$w[$i]);}
  15. $k = 10- $wk % 10;
  16. $sum = ($k==10)?0:$k;
  17. if ($pes[10]==$sum) return true;
  18. else {
  19. return false;}
  20. }else return false;
  21. }
  22.  
  23. public $validate = array(
  24. 'pesel'=>array(
  25. 'pes' =>array(
  26. 'rule' => 'pess',
  27. 'message' => 'Błędny pesel'),
  28. ),


I wszystko działa poprawnie tylko chce jeszcze sprawdzić czy podana płeć zgadza się z PESELEM i potrzebuje do tego pobrać dane wysłane z Formularza z pola
  1. $this->Form->input('Patient.sex');
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:29