【问题标题】:Params::Validate callback failure handlingParams::Validate 回调失败处理
【发布时间】:2015-12-14 12:20:05
【问题描述】:

我在我的函数中使用Params::Validate 模块。对于其中一个选项,O 正在使用回调进行验证。现在我需要捕捉这个失败并用一些自定义消息替换它。如何做到这一点?我尝试使用 on_fail 选项,但没有发现错误。

【问题讨论】:

  • 显示代码对您获得答案更有帮助。

标签: perl validation params


【解决方案1】:
如果您返回 false 值,

Params::Validate 将抛出 一般错误。要提供您自己的错误消息,只需让回调 die

如果值有效,回调应该返回一个真值。如果不是,它可以返回 false 或死亡。如果返回 false,Params::Validate 将抛出一般错误消息。

文档还提供了一个很好的代码示例。

validate(
    @_,
    {
        foo => {
            callbacks => {
                'smaller than a breadbox' => sub { shift() < $breadbox },
                'green or blue'           => sub {
                    return 1 if $_[0] eq 'green' || $_[0] eq 'blue';
                    die "$_[0] is not green or blue!";
                }
            }
        }
    }
);

【讨论】:

  • 我有 returnObj 应该有自定义消息,我不想死在同一个函数中,而是返回 returnObj。验证(
  • @bestrahul21 我不明白你在说什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-15
  • 2016-06-30
  • 2014-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多