php - Symfony 的验证组件(独立)

标签 php validation symfony doctrine-orm

我目前将 Symfony 的验证组件用作独立工具。我正在使用 Lumen 和 Doctrine2 构建一个 API,并且我试图弄清楚是否有一种方法可以在 Symfony2 框架之外使用 UniqueEntity 约束。我关注了this example尝试使用 UniqueEntity,但我注意到命名空间 Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity 甚至不存在于独立包中。有其他人得到这项工作,还是我必须编写自己的唯一性验证程序?

最佳答案

我使用 yml 创建验证,您也可以创建介绍模型。

在我的例子中,这是例子:

# src/SClinicBundle/Resources/config/validation.yml
Cf\SClinicBundle\Entity\CfIndicationsTemplates:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: name
            message: cf.indications_template.name.unique
    properties:
        name:
            - NotBlank: { message: "cf.indications_template.name.not_blank" }
            - Length: { min: 2, max: 100, minMessage: "cf.indications_template.name.min_length", maxMessage: "cf.indications_template.name.max_length" }
        templateIndication:
            - NotBlank: { message: "cf.indications_template.templateIndication.not_blank" }
        status:
            - NotBlank: { message: "cf.indications_template.status.not_blank" }
            - Choice: { choices: [0, 1], message: "cf.indications_template.status.choices" }
        datetimeR:
            - DateTime: { message: "cf.indications_template.datetime_r.bad_datetime" }
Cf\SClinicBundle\Entity\CfReportTemplates:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: name
            message: cf.report_template.name.unique
    properties:
        name:
            - NotBlank: { message: "cf.report_template.name.not_blank" }
            - Length: { min: 2, max: 100, minMessage: "cf.report_template.name.min_length", maxMessage: "cf.report_template.name.max_length" }
        status:
            - NotBlank: { message: "cf.report_template.status.not_blank" }
            - Choice: { choices: [0, 1], message: "cf.report_template.status.choices" }
        datetimeR:
            - DateTime: { message: "cf.report_template.datetime_r.bad_datetime" }
Cf\SClinicBundle\Entity\CfMedicalStudy:
    constraints:
        - Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity:
            fields: name
            message: cf.medical_study.name.unique
    properties:
        name:
            - NotBlank: { message: "cf.medical_study.name.not_blank" }
            - Length: { min: 2, max: 100, minMessage: "cf.medical_study.name.min_length", maxMessage: "cf.medical_study.name.max_length" }
        administerDosesZone:
            - NotBlank: { message: "cf.medical_study.administerDosesZone.not_blank" }
        status:
            - NotBlank: { message: "cf.medical_study.status.not_blank" }
            - Choice: { choices: [0, 1], message: "cf.medical_study.status.choices" }
        datetimeR:
            - DateTime: { message: "cf.medical_study.datetime_r.bad_datetime" }

您可以查看我的示例并尝试与您的代码进行比较。

关于php - Symfony 的验证组件(独立),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35142869/

相关文章:

PHP无法移动上传的文件

javascript - 表单验证在接近结束时停止工作

mysql - SQLSTATE[23000] 同时向 Doctrine 2 和 Symfony 2 添加 3 个实体

forms - 在表单或属性中定义日期步骤

symfony - 如何在 Symfony 中两个表之间存在关系的地方创建夹具?

php - 在 Symfony 2 中用户切换(模拟)后重定向

php - CKFinder 3(不适用于 CKEditor)如何在选择或上传图像时强制用户进入具有特定尺寸的图像编辑区域

php - Symfony3 : Relation One to Many return empty object

JavaScript 表单提交验证干扰其他提交按钮

javascript - 小于提交后验证不起作用