簡體   English   中英

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" }

您可以查看我的示例並嘗試與您的代碼進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM