2009年8月19日星期三

[PerlChina] 请教一个关于Data::FormValidator的问题

Hi, 最近自己写个项目。
用的是CGI::Application,
我加入了CGI::Application::Plugin::ValidateRM
配合HTML::FormInFill插件来使用。

这里的问题是。
在Data::FormValidator的profile里:
1、如何让一个字段应用多个constraint_method呢?
我看文档里写的是类似这样的:
字段名=>[
constraint_name,

{
   name=>'name',
   constraint_method=>email(), (#就是选定的constraint)
}

]

看上去可以work. 问题是,可否让这个字段在第一个constraint_name时检查失败,就不见查后一个或者多个constraint呢?

2、我看文档里说可以使用自定义的sub 引用。
比如说这样写:
字段名=>my_sub()

sub my_sub {
    return sub {
     my $dfv = shift;
     $dfv->name_this('my_sub');
     return something.

}
}

但是这个时候有个问题,我发现my_sub是可以执行的。但是如何返回出错消息呢?如果没有通过验证。

比如说类似这种:

字段名=>my_sub(),
msgs=>{
   constraint=>{
     my_sub=>'error is here',
}
}

sub my_sub {
    return sub {
     my $dfv = shift;
     $dfv->name_this('my_sub');
     return something.

}
}


实际上在我的代码中,总是不会出现那个error is here.

不知道为什么。


哪位可以帮我看看?

谢谢。



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

-~----------~----~----~----~------~----~------~--~---

没有评论: