Skip to content

Commit 952534c

Browse files
committed
MAGETWO-54779: [GitHub] Image size for Product Watermarks can't be set #5270
- adding custom validation for AAAxBBB type of inputs in validation rules with translation
1 parent 3be18f3 commit 952534c

File tree

3 files changed

+64
-3
lines changed

3 files changed

+64
-3
lines changed

app/code/Magento/Catalog/i18n/en_US.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,7 @@ Image,Image
700700
"Allowed file types: jpeg, gif, png.","Allowed file types: jpeg, gif, png."
701701
"Image Opacity","Image Opacity"
702702
"Example format: 200x300.","Example format: 200x300."
703+
"The value is not within the specified format eg: 200x300","The value is not within the specified format eg: 200x300"
703704
"Image Position","Image Position"
704705
Small,Small
705706
"Attribute Label","Attribute Label"

app/code/Magento/Catalog/view/adminhtml/ui_component/design_config_form.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,13 @@
5555
<field name="watermark_image_size">
5656
<argument name="data" xsi:type="array">
5757
<item name="config" xsi:type="array">
58+
<item name="component" xsi:type="string">Magento_Catalog/component/image-size-field</item>
5859
<item name="label" xsi:type="string" translate="true">Image Size</item>
5960
<item name="dataType" xsi:type="string">text</item>
6061
<item name="formElement" xsi:type="string">input</item>
6162
<item name="dataScope" xsi:type="string">watermark_image_size</item>
6263
<item name="validation" xsi:type="array">
63-
<item name="validate-digits" xsi:type="boolean">true</item>
64+
<item name="validate-image-size-range" xsi:type="boolean">true</item>
6465
</item>
6566
<item name="notice" xsi:type="string" translate="true">Example format: 200x300.</item>
6667
</item>
@@ -118,12 +119,13 @@
118119
<field name="watermark_thumbnail_size">
119120
<argument name="data" xsi:type="array">
120121
<item name="config" xsi:type="array">
122+
<item name="component" xsi:type="string">Magento_Catalog/component/image-size-field</item>
121123
<item name="label" xsi:type="string" translate="true">Image Size</item>
122124
<item name="dataType" xsi:type="string">text</item>
123125
<item name="formElement" xsi:type="string">input</item>
124126
<item name="dataScope" xsi:type="string">watermark_thumbnail_size</item>
125127
<item name="validation" xsi:type="array">
126-
<item name="validate-digits" xsi:type="boolean">true</item>
128+
<item name="validate-image-size-range" xsi:type="boolean">true</item>
127129
</item>
128130
<item name="notice" xsi:type="string" translate="true">Example format: 200x300.</item>
129131
</item>
@@ -181,12 +183,13 @@
181183
<field name="watermark_small_image_size">
182184
<argument name="data" xsi:type="array">
183185
<item name="config" xsi:type="array">
186+
<item name="component" xsi:type="string">Magento_Catalog/component/image-size-field</item>
184187
<item name="label" xsi:type="string" translate="true">Image Size</item>
185188
<item name="dataType" xsi:type="string">text</item>
186189
<item name="formElement" xsi:type="string">input</item>
187190
<item name="dataScope" xsi:type="string">watermark_small_image_size</item>
188191
<item name="validation" xsi:type="array">
189-
<item name="validate-digits" xsi:type="boolean">true</item>
192+
<item name="validate-image-size-range" xsi:type="boolean">true</item>
190193
</item>
191194
<item name="notice" xsi:type="string" translate="true">Example format: 200x300.</item>
192195
</item>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/**
2+
* Copyright © 2016 Magento. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
define([
7+
'jquery',
8+
'underscore',
9+
'Magento_Ui/js/lib/validation/utils',
10+
'Magento_Ui/js/form/element/abstract',
11+
'Magento_Ui/js/lib/validation/validator'
12+
], function ($, _, utils, Abstract, validator) {
13+
'use strict';
14+
15+
validator.addRule(
16+
'validate-image-size-range',
17+
function (value) {
18+
var numValue,
19+
dataAttrRange = /^(\d+)x(\d+)?$/,
20+
result = false,
21+
m;
22+
23+
if (utils.isEmptyNoTrim(value)) {
24+
return true;
25+
}
26+
numValue = utils.parseNumber(value);
27+
28+
if (isNaN(numValue)) {
29+
return false;
30+
}
31+
32+
m = dataAttrRange.exec(value);
33+
34+
if (m) {
35+
if (m.length === 3) {
36+
result = m[1] && m[2];
37+
}
38+
}
39+
40+
return result;
41+
},
42+
$.mage.__('The value is not within the specified format eg: 200x300')
43+
);
44+
45+
return Abstract.extend({
46+
47+
/**
48+
* Checks for relevant value
49+
*
50+
* @param {*} value
51+
* @returns {Boolean}
52+
*/
53+
isRangeCorrect: function (value) {
54+
return validator('validate-image-size-range', value);
55+
}
56+
});
57+
});

0 commit comments

Comments
 (0)