Skip to content

Commit 0b38316

Browse files
author
Evgeniy Kolesov
committed
MAGETWO-43734: Invalid postcode still allows the customer to continue the checkout process
1 parent 86d5abe commit 0b38316

File tree

5 files changed

+29
-10
lines changed

5 files changed

+29
-10
lines changed

app/code/Magento/Checkout/view/frontend/web/js/model/shipping-rates-validator.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,14 @@ define(
8181
var countryId = $('select[name="shippingAddress[country_id]"]').val();
8282
var validationResult = postcodeValidator.validate(postcodeElement.value(), countryId);
8383

84-
postcodeElement.error(null);
84+
postcodeElement.warn(null);
8585
if (!validationResult) {
86-
var errorMessage = $t('Invalid Zip/Postal code for current country!');
86+
var warnMessage = $t('Provided Zip/Postal Code seems to be invalid.');
8787
if (postcodeValidator.validatedPostCodeExample.length) {
88-
errorMessage += $t(' Example: ') + postcodeValidator.validatedPostCodeExample.join('; ');
88+
warnMessage += $t(' Example: ') + postcodeValidator.validatedPostCodeExample.join('; ') + '. ';
8989
}
90-
postcodeElement.error(errorMessage);
90+
warnMessage += $t('If you believe it is the right one you can ignore this notice.');
91+
postcodeElement.warn(warnMessage);
9192
}
9293
return validationResult;
9394
},

app/code/Magento/Ui/view/base/web/js/form/element/abstract.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ define([
2525
description: '',
2626
label: '',
2727
error: '',
28+
warn: '',
2829
notice: '',
2930
customScope: '',
3031
additionalClasses: {},
@@ -64,7 +65,7 @@ define([
6465

6566
this._super();
6667

67-
this.observe('error disabled focused preview visible value')
68+
this.observe('error disabled focused preview visible value warn')
6869
.observe({
6970
'required': !!rules['required-entry']
7071
});
@@ -126,6 +127,7 @@ define([
126127
_.extend(this.additionalClasses, {
127128
required: this.required,
128129
_error: this.error,
130+
_warn: this.warn,
129131
_disabled: this.disabled
130132
});
131133

app/code/Magento/Ui/view/frontend/web/templates/form/field.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@
4242
<!-- ko if: element.error() -->
4343
<div class="mage-error" data-bind="attr: { for: element.uid }, text: element.error" generated="true"></div>
4444
<!-- /ko -->
45+
46+
<!-- ko if: element.warn() -->
47+
<div class="message warning" generated="true"><span data-bind="text: element.warn"></span></div>
48+
<!-- /ko -->
4549
</div>
4650
</div>
4751
<!-- /ko -->

app/design/frontend/Magento/blank/web/css/source/_forms.less

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,11 @@ fieldset.field {
7070
white-space: nowrap;
7171
}
7272
}
73+
.message {
74+
&.warning {
75+
margin-top: @indent__s;
76+
}
77+
}
7378
}
7479

7580
div.mage-error[generated] {

app/design/frontend/Magento/luma/web/css/source/_forms.less

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,18 @@ fieldset.field {
5959
border: 0;
6060
padding: 0;
6161
}
62-
.field.date {
63-
.time-picker {
64-
white-space: nowrap;
65-
margin-top: @indent__s;
66-
display: inline-block;
62+
.field {
63+
&.date {
64+
.time-picker {
65+
white-space: nowrap;
66+
margin-top: @indent__s;
67+
display: inline-block;
68+
}
69+
}
70+
.message {
71+
&.warning {
72+
margin-top: @indent__s;
73+
}
6774
}
6875
}
6976

0 commit comments

Comments
 (0)