symfony验证没有';行不通

symfony验证没有';行不通,symfony,validation,entity,symfony-3.3,symfony3.x,Symfony,Validation,Entity,Symfony 3.3,Symfony3.x,我想我错过了什么。 我有一个通过yml文件验证的用户实体,但每次我向路由发送post请求时,它似乎都没有收到我的请求。我的意思是,路由工作正常,但我不断收到错误消息,密码和用户名不应为空(由于我设置的限制)。因此,它似乎没有针对实体验证我的请求 我确保在我的配置中触发此设置: 验证:{enabled:true,enable_注释:true} 这是我的路由。yml: user_login_homepage: path: /check defaults: { _control

我想我错过了什么。 我有一个通过
yml
文件验证的用户实体,但每次我向路由发送post请求时,它似乎都没有收到我的请求。我的意思是,路由工作正常,但我不断收到错误消息,密码和用户名不应为空(由于我设置的限制)。因此,它似乎没有针对实体验证我的请求

我确保在我的配置中触发此设置:
验证:{enabled:true,enable_注释:true}

这是我的
路由。yml

user_login_homepage:
    path:     /check
    defaults: { _controller: UserLoginBundle:Login:checkCredentials }
    methods: [POST]
这是我的
验证。yml

User\UserBundle\Entity\User:
    properties:
        username:
            - NotBlank: ~
        password:
            - NotBlank: ~
这是我的控制器(
LoginController.php

我刚刚尝试按照说明操作,但无法使其正常工作:(
我遗漏了什么吗?

您正在创建一个空用户,因此可以更正错误,请尝试以下操作(我想象用户名和密码会传递到POST数据中,对吗?)


是的,非常感谢。是的,他们是通过邮件传递的。只是一个与您的解决方案相关的问题。不是用这种方式将这些数据保存在表中吗?这样,您就可以填写实体,检查错误,然后在您可以保存实体或您想要的内容后,如果您使用的是symfony表单,您可以用表单传递的表单自动填充用户是的,我知道b但是这个例子的不同之处在于我没有使用表单,所以有点不同!干杯
public function checkCredentialsAction(Request $request)
{
    $recursiveValidator = $this->get('validator');

    $user = new User();

    $errors = $recursiveValidator->validate($user);

    if (count($errors) > 0) {
        $errorsString = (string) $errors;
        return new Response($errorsString);
    }

    return new Response('Yuppy');
}
$user = new User();
$postData = $request->request->all();
$user->setUsername($postData['username'];
$user->setPassword($postData['password'];

$errors = $recursiveValidator->validate($user);