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.

Reply via email to