diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml
index 9c99a72c12d1c..6a432c1809ba5 100644
--- a/app/code/Magento/Catalog/etc/adminhtml/system.xml
+++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml
@@ -56,7 +56,7 @@
Comma-separated.
- validate-per-page-value-list
+ validate-per-page-value-list required-entry
@@ -66,7 +66,7 @@
Comma-separated.
- validate-per-page-value-list
+ validate-per-page-value-list required-entry
diff --git a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js
index cbfc0dae90dda..831f11976fb2f 100644
--- a/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js
+++ b/app/code/Magento/Ui/view/base/web/js/lib/validation/rules.js
@@ -919,12 +919,12 @@ define([
],
'validate-per-page-value-list': [
function (value) {
- var isValid = utils.isEmpty(value),
+ var isValid = true,
values = value.split(','),
i;
- if (isValid) {
- return true;
+ if (utils.isEmpty(value)) {
+ return isValid;
}
for (i = 0; i < values.length; i++) {
diff --git a/lib/web/mage/validation.js b/lib/web/mage/validation.js
index a742b8e6bbb27..cd3d3bea4eabf 100644
--- a/lib/web/mage/validation.js
+++ b/lib/web/mage/validation.js
@@ -1425,10 +1425,14 @@
],
'validate-per-page-value-list': [
function (v) {
- var isValid = !$.mage.isEmpty(v),
+ var isValid = true,
values = v.split(','),
i;
+ if ($.mage.isEmpty(v)) {
+ return isValid;
+ }
+
for (i = 0; i < values.length; i++) {
if (!/^[0-9]+$/.test(values[i])) {
isValid = false;