praegune kellaaeg 21.06.2025 22:22:26
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
lehm2
Kreisi kasutaja

liitunud: 19.09.2004
|
30.03.2008 12:34:34
php:ZF:Zend_Form Custom Validatori lisamine |
|
|
Probleem järgmine, et vaja teha registreerimisel parooli kontroll, kas parool1 ja parool2 on ühesugused. Leidsin Zendi manuaalist ühe Password Confim Validatori, mille nimeks sai My_Validate_Password. Kõik töötab, kuid oleks vaja kuidagi loadida see validator.
php:
|
$this-> addElement('password', 'parool2', array( 'label' => 'Parool veelkord:', array('Password', false, 'parool') //Siin on probleem ), 'required' => true ));
|
_________________ Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust ! |
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
EvilOne
HV vaatleja

liitunud: 25.01.2004
|
30.03.2008 12:54:26
|
|
|
miks sa seda asja nii keeruliselt teed? sellejaoks on ju palju lihtsam võimalus - PHP-l endal on sisseehitatud stringi võrdlusfunktsioonid. Näiteks funktsioon strcmp(parool1, parool2). Põhimõte on ise lihtne, kui paroolid ei ole võrdsed siis väljastab funktsioon kas väärtused -1 või 1, kui aga on võrdsed, siis väärtuse 0.
lisainfot selle funktsiooni kohta saad siit http://ee2.php.net/manual/en/function.strcmp.php
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
lehm2
Kreisi kasutaja

liitunud: 19.09.2004
|
30.03.2008 13:11:14
|
|
|
EvilOne kirjutas: |
miks sa seda asja nii keeruliselt teed? sellejaoks on ju palju lihtsam võimalus - PHP-l endal on sisseehitatud stringi võrdlusfunktsioonid. Näiteks funktsioon strcmp(parool1, parool2). Põhimõte on ise lihtne, kui paroolid ei ole võrdsed siis väljastab funktsioon kas väärtused -1 või 1, kui aga on võrdsed, siis väärtuse 0.
lisainfot selle funktsiooni kohta saad siit http://ee2.php.net/manual/en/function.strcmp.php |
Noh kuidas võtta, kas ta siis nii keeruline on aga põhiline oleks, et edaspidi saaks kiiremini hakkama.
Parooli võrdleja kood ise selline.
php:
|
<?php class My_Validate_Password extends Zend_Validate_Abstract { const NOT_MATCH = 'notMatch'; protected $_messageTemplates = array( self::NOT_MATCH => 'Passwords does not match!' ); public function isValid($value, $context = null) { $value = (string)$value; $this->_setValue($value); if (isset($context['password_confirm']) && ($value == $context['password_confirm'])) { return true; } } elseif (is_string($context) && ($value == $context)) { return true; } $this->_error(self::NOT_MATCH); return false; } } ?>
|
_________________ Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust ! |
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
EvilOne
HV vaatleja

liitunud: 25.01.2004
|
30.03.2008 13:36:39
|
|
|
Pole muidugi mingi eriline PHP guru, aga tegin ise mingi lambist klassi. Vaata kas sobib.
Kood siis siin
<?php
class PasswordValidator {
private $pass1, $pass2;
public function __construct($pass1, $pass2) {
$this->pass1 = $pass1;
$this->pass2 = $pass2;
}
private function IsValid() {
if(strcmp($this->pass1, $this->pass2) == 0) {
return true;
} else {
return false;
}
}
public function getIsValid() {
return self::IsValid();
}
}
// hiljem saad koodis seda klassi kasutada nii
$pv = new PasswordValidator("22wweezz", "22wweeyy");
if($pv->get_IsValid()) {
echo "Paroolid klapivad";
} else {
echo "Paroolid ei klapi";
}
?> |
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
3 |
|
tagasi üles |
|
 |
lehm2
Kreisi kasutaja

liitunud: 19.09.2004
|
30.03.2008 21:45:31
|
|
|
Leidsin lahenduse väga ootamatult, tekkis väike teisiti mõtlemis viis ja saigi tehtud
php:
|
$this-> addElement('password', 'parool2', array( 'label' => 'Parool veelkord:', array(new My_Validate_Password ('parool')) //kasutame stringi asemel otses objekti loomist ), 'required' => true ));
|
_________________ Piilu siia, progreja!
Vajad abi Node.JS-ga ?
Võta ühendust ! |
|
Kommentaarid: 15 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
13 |
|
tagasi üles |
|
 |
hexmex
HV kasutaja
liitunud: 13.06.2006
|
02.04.2008 10:14:29
|
|
|
EvilOne kirjutas: |
miks sa seda asja nii keeruliselt teed? sellejaoks on ju palju lihtsam võimalus - PHP-l endal on sisseehitatud stringi võrdlusfunktsioonid. |
ot: |
Ma ei saa jätta mainimata, et kuna teema pealkirjas on sees ZF (Zend Framework), siis vastates tasuks sellega arvestada. Soovitan sul soojalt tutvuda sellesama ZF'ga või üldse tutvust teha erinevate PHP raamistike kasutamise plusside ja miinustega. Lihtsad stringide võrdlused paroolide valideerimisel ei tule vähegi suuremas rakenduses kõne alla
|
_________________ Olgem sõbralikud! |
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
1 :: |
2 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|