This is my modeL db.define_table('myperson', Field('name'), Field('password','password', requires=CRYPT()), )
And here are the functions: def newperson1(): db.myperson.insert(name="Smith1", password=CRYPT()("abc")[0]) def newperson2(): db.myperson.validate_and_insert(name="Smith2", password=CRYPT()("abc")[0]) If there is no requires=CRYPT() in the model both functions work. With requires=CRYPT() only newperson1 is ok. The result of newpersion2 is: Ticket ID 127.0.0.1.2014-09-20.08-39-58.b3a05144-6dcd-4374-895b-b217b56483f0 <type 'exceptions.TypeError'> 'LazyCrypt' object has no attribute '__getitem__' Version web2py™ Version 2.9.11-stable+timestamp.2014.09.15.23.35.11 Traceback 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Traceback (most recent call last): File "D:\Downloads\web2py_src299\web2py\gluon\restricted.py", line 224, in restricted exec ccode in environment File "D:/Downloads/web2py_src299/web2py/applications/test1/controllers/default.py" <http://127.0.0.1:8001/admin/default/edit/test1/controllers/default.py>, line 84, in <module> File "D:\Downloads\web2py_src299\web2py\gluon\globals.py", line 392, in <lambda> self._caller = lambda f: f() File "D:/Downloads/web2py_src299/web2py/applications/test1/controllers/default.py" <http://127.0.0.1:8001/admin/default/edit/test1/controllers/default.py>, line 14, in newperson db.myperson.validate_and_insert(name="Smith2", password=CRYPT()("abc")[0]) File "D:\Downloads\web2py_src299\web2py\gluon\dal.py", line 9328, in validate_and_insert value, error = self[key].validate(value) File "D:\Downloads\web2py_src299\web2py\gluon\dal.py", line 10319, in validate (value, error) = validator(value) File "D:\Downloads\web2py_src299\web2py\gluon\validators.py", line 2954, in __call__ value = value and value[:self.max_length] TypeError: 'LazyCrypt' object has no attribute '__getitem__' Regards, Martin -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.