Browse Source

feat(admin-ui): Validate slug pattern in product detail form

Relates to #103
Michael Bromley 6 years ago
parent
commit
29509d8a38

+ 6 - 2
admin-ui/src/app/catalog/components/product-detail/product-detail.component.html

@@ -58,8 +58,12 @@
                                     (input)="updateSlug($event.target.value)"
                                     (input)="updateSlug($event.target.value)"
                                 />
                                 />
                             </vdr-form-field>
                             </vdr-form-field>
-                            <vdr-form-field [label]="'catalog.slug' | translate" for="slug">
-                                <input id="slug" type="text" formControlName="slug" />
+                            <vdr-form-field
+                                [label]="'catalog.slug' | translate"
+                                for="slug"
+                                [errors]="{ pattern: 'catalog.slug-pattern-error' | translate }"
+                            >
+                                <input id="slug" type="text" formControlName="slug" pattern="[a-z0-9_-]+" />
                             </vdr-form-field>
                             </vdr-form-field>
                             <vdr-rich-text-editor
                             <vdr-rich-text-editor
                                 formControlName="description"
                                 formControlName="description"

+ 1 - 0
admin-ui/src/i18n-messages/en.json

@@ -86,6 +86,7 @@
     "set-as-featured-asset": "Set as featured asset",
     "set-as-featured-asset": "Set as featured asset",
     "sku": "SKU",
     "sku": "SKU",
     "slug": "Slug",
     "slug": "Slug",
+    "slug-pattern-error": "The slug may only contain letters, numbers, - and _",
     "stock-on-hand": "Stock",
     "stock-on-hand": "Stock",
     "tax-category": "Tax category",
     "tax-category": "Tax category",
     "taxes": "Taxes",
     "taxes": "Taxes",