return 0 就是被认为是untaint后的结果。
所以总是不work.
因此这里也总是不理解untaint_all_constraints到底是怎么work的。
您刚才说是在constraint通过后,再根据untaint_all_constraints这个选项untaint.这个返回后的值。
好像是这个样子。看起来,我也没必要使用这个选项。
或者真的有需要的话,使用untaint_constraints_field这个选项。
;)
Mike.G
2009/8/20 Qiang (James) <shijialee@gmail.com>
Mike.G wrote:根据文档,untaint_all_constraints 会在你的 constraint 通过后根据你的
> 谢谢Qiang, 发现是加入了untaint_all_constraints=>1, 这个选项使得自定义的
> 函数总是没有办法检查出这个字段是否是valid
>
> 关于这个选项的文档也很少。
> 我猜测是不是应该在自定义的函数里要使用这样的语句untaint
>
constraint 来 untaint.
如果你想返回 false, 请使用 return; (相当于 return undef)即可。没准你上面
的 return 0 被认为是 untaint 后的结果也不一定....
oh, 这些地方我不用 untaint,既然通过 constraint,那我已经信任提交的结果,
> my $val = shift;
> $val =~ /(.*)/
> $val = $1;
>
没必要再 untaint 一遍。
>
> 谢谢 Qiang
>
>
> Mike.G
Qiang
>
>
> 2009/8/19 Qiang (James) <shijialee@gmail.com <mailto:shijialee@gmail.com>>
>
> 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 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论