Skip to content

Commit b75e974

Browse files
Added: Missing product variant constraint for barcode field
1 parent c90e3b3 commit b75e974

3 files changed

Lines changed: 37 additions & 1 deletion

File tree

README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,29 @@ You need to override the template displaying the product and product variant for
147147

148148
If you haven't overridden the template yet, you can just copy the templates from `vendor/loevgaard/sylius-barcode-plugin/src/Resources/views/SyliusAdminBundle` to `templates/bundles/SyliusAdminBundle/`
149149

150-
### Step 7: Using asynchronous transport (optional, but recommended)
150+
### Step 7: Add validator constraint
151+
152+
Create `config/validator/ProductVariant.xml`:
153+
154+
```xml
155+
<?xml version="1.0" encoding="UTF-8"?>
156+
157+
<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
158+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
159+
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/services/constraint-mapping-1.0.xsd">
160+
<class name="App\Entity\ProductVariant">
161+
<constraint name="Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity">
162+
<option name="fields">barcode</option>
163+
<option name="message">loevgaard_sylius_barcode.product_variant.barcode.unique</option>
164+
<option name="groups">sylius</option>
165+
</constraint>
166+
</class>
167+
</constraint-mapping>
168+
```
169+
170+
Like it [configured](tests/Application/config/validator/ProductVariant.xml) at example application.
171+
172+
### Step 8: Using asynchronous transport (optional, but recommended)
151173

152174
All commands in this plugin will extend the [CommandInterface](src/Message/Command/CommandInterface.php).
153175
Therefore you can route all commands easily by adding this to your [Messenger config](https://symfony.com/doc/current/messenger.html#routing-messages-to-a-transport):

src/Resources/translations/validators.en.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ loevgaard_sylius_barcode:
33
barcode:
44
not_blank: Please enter barcode.
55
valid: The string "{{ string }}" is not a valid barcode.
6+
unique: Variant barcode must be unique.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<constraint-mapping xmlns="http://symfony.com/schema/dic/constraint-mapping"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/constraint-mapping http://symfony.com/schema/dic/services/constraint-mapping-1.0.xsd">
6+
<class name="Tests\Loevgaard\SyliusBarcodePlugin\Application\Entity\ProductVariant">
7+
<constraint name="Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity">
8+
<option name="fields">barcode</option>
9+
<option name="message">loevgaard_sylius_barcode.product_variant.barcode.unique</option>
10+
<option name="groups">sylius</option>
11+
</constraint>
12+
</class>
13+
</constraint-mapping>

0 commit comments

Comments
 (0)