No me funciona el Captcha en la versión 1.1
#1
Posted 14 January 2010 - 02:01 PM
¿Alguien sabe que puedo hacer en este caso?
Muchas gracias!
#2
Posted 14 January 2010 - 09:18 PM
Yo hasta ahora no tuve problemas con esto.
Saludos,
#3
Posted 15 January 2010 - 08:13 AM
Yo hago la asignación de los campos en el controlador con:
$model->attributes=$_POST['UsersLoginForm'];
Y en el modelo tengo las siguientes reglas de validación:
return array(
// username and password are required
array('username, password', 'required'),
// verifyCode needs to be entered correctly
array('verifyCode', 'captcha'),
// password needs to be authenticated
array('password', 'authenticate'),
);
...Pero siempre me decía que el 'verifyCode' estaba vació, entonces yo imprimí en pantalla el atributo '$model->attributes' para ver que pasaba y efectivamente el 'verifyCode' estaba vació... entonces investigando encontré que en '$model->attributes' solo se almacenan los atributos seguros (safe attributes) y que para un atributo ser seguro debe aparecer en las reglas de validación... pero entonces ahí venia mi duda porque segun lo que yo veia yo el atributo 'verifyCode' ya aparecía en las reglas de validación cuando yo coloqué lo siguiente en las reglas:
...
array('verifyCode', 'captcha'),
...
Entonces... ¿Por que me sale que no es un atributo seguro?
Luego se me ocurrió pensar que tal vez debía aparecer otro tipo de validación en las reglas para poder que lo considerara seguro y entonces agregué la siguiente regla:
array('verifyCode', 'length', 'min'=>6, 'max'=>7),Y cuando probé de nuevo ya funcionaba mi formulario.
Pero para mi.. con solo la primera regla debió ser considerado como seguro.... ¿estoy loco?
Un saludo!
#4
Posted 15 January 2010 - 08:48 AM
juanmjimenezs, on 15 January 2010 - 08:13 AM, said:
Yo hago la asignación de los campos en el controlador con:
$model->attributes=$_POST['UsersLoginForm'];
Y en el modelo tengo las siguientes reglas de validación:
return array(
// username and password are required
array('username, password', 'required'),
// verifyCode needs to be entered correctly
array('verifyCode', 'captcha'),
// password needs to be authenticated
array('password', 'authenticate'),
);
...Pero siempre me decía que el 'verifyCode' estaba vació, entonces yo imprimí en pantalla el atributo '$model->attributes' para ver que pasaba y efectivamente el 'verifyCode' estaba vació... entonces investigando encontré que en '$model->attributes' solo se almacenan los atributos seguros (safe attributes) y que para un atributo ser seguro debe aparecer en las reglas de validación... pero entonces ahí venia mi duda porque segun lo que yo veia yo el atributo 'verifyCode' ya aparecía en las reglas de validación cuando yo coloqué lo siguiente en las reglas:
...
array('verifyCode', 'captcha'),
...
Entonces... ¿Por que me sale que no es un atributo seguro?
Luego se me ocurrió pensar que tal vez debía aparecer otro tipo de validación en las reglas para poder que lo considerara seguro y entonces agregué la siguiente regla:
array('verifyCode', 'length', 'min'=>6, 'max'=>7),Y cuando probé de nuevo ya funcionaba mi formulario.
Pero para mi.. con solo la primera regla debió ser considerado como seguro.... ¿estoy loco?
Un saludo!
tambien puedes poner
array('verifyCode', 'safe'),
pon tu caso como un bug
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
#5
Posted 15 January 2010 - 09:00 AM
..En cuanto a lo de publicarlo como un bug... la verdad no se como escribir todo eso en un ingles que me entiendan
Alguien que sepa ingles me puede ayudar con eso?
Y aprovecho para preguntar una duda con respecto a este mismo tema, es que me gustaría que alguien me confirmara si estoy en lo correcto cuando entendí que para hacer una asignación masiva por medio de:
$model->attributes
Solo se puede hacer para los atributos seguros y que para un atributo ser seguro debe aparecer en las reglas del modelo.
¿Estoy en lo correcto?
#6
Posted 15 January 2010 - 09:15 AM
if I declare
array('verifyCode', 'captcha'),
the verifyCode do not pass the validation because is not safe. But if I add other rule
array('verifyCode', 'captcha'),
array('verifyCode', 'length', 'min'=>6, 'max'=>7), // or array('verifyCode', 'safe'),
Then verifyCode becomes safe!
Is not enough whit the fist one?
The problem is communication! Excess of communication!
#7
Posted 15 January 2010 - 01:19 PM
PoL, on 15 January 2010 - 09:15 AM, said:
if I declare
array('verifyCode', 'captcha'),
the verifyCode do not pass the validation because is not safe. But if I add other rule
array('verifyCode', 'captcha'),
array('verifyCode', 'length', 'min'=>6, 'max'=>7), // or array('verifyCode', 'safe'),
Then verifyCode becomes safe!
Is not enough whit the fist one?
Muchas gracias Pol!
#8
Posted 15 January 2010 - 01:35 PM
#9
Posted 15 January 2010 - 04:02 PM
juanmjimenezs, on 15 January 2010 - 01:35 PM, said:
Qiang lo puso en estado "Invalid"
ASAP-As Soon As Possible
http://www.yiiframew...oc/cookbook/71/
http://hmsegura.blogspot.com/
#10
Posted 18 January 2010 - 06:29 AM
Quiero decir, a lo mejor es algo que sucede con alguna configuracion que vos tenes, porque solo con una regla deberia funcionar.
The problem is communication! Excess of communication!

Help














