Symfony的验证组件(独立)


Symfony's Validation Component (Standalone)

我目前正在使用Symfony的验证组件作为独立工具。我正在使用Lumen和Doctrine2构建一个API,我试图弄清楚是否有办法在Symfony2框架之外使用UniqueEntity约束。我按照此示例尝试使用 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" }

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