hehe, 是的。
return 0 就是被认为是untaint后的结果。
所以总是不work.
因此这里也总是不理解untaint_all_constraints到底是怎么work的。

您刚才说是在constraint通过后,再根据untaint_all_constraints这个选项untaint.这个返回后的值。
好像是这个样子。看起来,我也没必要使用这个选项。
或者真的有需要的话,使用untaint_constraints_field这个选项。


;)

Mike.G



2009/8/20 Qiang (James) <[email protected]>

> 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 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复