Mike.G wrote:
> 谢谢Qiang, 发现是加入了untaint_all_constraints=>1, 这个选项使得自定义的 
> 函数总是没有办法检查出这个字段是否是valid
> 
> 关于这个选项的文档也很少。
> 我猜测是不是应该在自定义的函数里要使用这样的语句untaint
> 

根据文档,untaint_all_constraints 会在你的 constraint 通过后根据你的
constraint 来 untaint.

如果你想返回 false, 请使用 return; (相当于 return undef)即可。没准你上面
的 return 0 被认为是 untaint 后的结果也不一定....

> my $val = shift;
> $val =~ /(.*)/
> $val = $1;
> 

oh, 这些地方我不用 untaint,既然通过 constraint,那我已经信任提交的结果,
没必要再 untaint 一遍。

> 
> 谢谢 Qiang
> 
> 
> Mike.G

Qiang


> 
> 
> 2009/8/19 Qiang (James) <[email protected] <mailto:[email protected]>>
> 
>     Mike.G wrote:
>      > Hi, Qiang.
>      > 第一个种情况,我试过一次好像两个都显示。这个我回去再试一下。
>      >
> 
>     你可以把 CGI::Application::Plugin::ValidateRM 的结果
>     ($result=$self->check_rm...) 用 Data::Dumper 打出来看。另外通过 invalid
>     也可以。
> 
>      > 第二个,返回false, 我记得perl里没有这种类型的啊。我返回0,就是不显示。
>      > 我超级郁闷。
> 
>     undef, 0 都是 false..
> 
>     看看 Dumper 出来的结果是否有检验错误信息。 如果你说的是没有在网页里显
>     示,那这一般是在 template 里控制、
> 
>     Qiang
> 
> 
> 
> 
> > 


--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复