代码之家  ›  专栏  ›  技术社区  ›  root66

Symfony/Silex:删除验证消息的前缀和后缀(代码[…])

  •  0
  • root66  · 技术社区  · 8 年前

    $errors = $app['validator']->validate($email, new Assert\Email(array(
        'message' => 'The email "{{ value }}" is not a valid email.'
    )));
    

    但它仍然在消息之前添加字段内容,并在消息之后添加一些代码:

    foobar : The email "foobar" ist not a valid email. (code c1051bb4-d103-4f74-8988-acbcafc7fdc3)
    

    我如何删除这两个,这样就只有简单的消息了?

    1 回复  |  直到 8 年前
        1
  •  0
  •   root66    8 年前

    验证方法的返回值是一个列表对象。当您将其转换为字符串时,内置的“toString”方法会向错误字符串添加前缀和后缀。

    解决方案是迭代错误并调用getMessage方法:

    foreach ($errors as $error) {
        echo $error->getMessage().'<br>';
    }