diff --git a/app/common/publishEnums.js b/app/common/publishEnums.js
index fd481fb..d034faf 100644
--- a/app/common/publishEnums.js
+++ b/app/common/publishEnums.js
@@ -62,7 +62,10 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.OFFICE,
AD_CATEGORY.LAND,
AD_CATEGORY.GARAGE
- ]
+ ],
+ constraint: {
+ numericality: true
+ }
},
{
dbField: "area",
@@ -75,12 +78,19 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.OFFICE,
AD_CATEGORY.LAND,
AD_CATEGORY.GARAGE
- ]
+ ],
+ constraint: {
+ numericality: true,
+ presence: true
+ }
},
{
dbField: "gardenSize",
title: "Površina okućnice (m\xB2)",
- categoriesToShow: [AD_CATEGORY.HOUSE, AD_CATEGORY.COTTAGE]
+ categoriesToShow: [AD_CATEGORY.HOUSE, AD_CATEGORY.COTTAGE],
+ constraint: {
+ numericality: true
+ }
},
{
dbField: "numberOfRooms",
@@ -91,7 +101,13 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.APARTMENT,
AD_CATEGORY.COTTAGE,
AD_CATEGORY.OFFICE
- ]
+ ],
+ constraint: {
+ numericality: {
+ onlyInteger: true,
+ greaterThanOrEqualTo: 0
+ }
+ }
},
{
dbField: "numberOfFloors",
@@ -101,7 +117,12 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.HOUSE,
AD_CATEGORY.APARTMENT,
AD_CATEGORY.COTTAGE
- ]
+ ],
+ constraint: {
+ numericality: {
+ onlyInteger: true
+ }
+ }
},
{
dbField: "floor",
@@ -110,7 +131,12 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.FLAT,
AD_CATEGORY.APARTMENT,
AD_CATEGORY.OFFICE
- ]
+ ],
+ constraint: {
+ numericality: {
+ onlyInteger: true
+ }
+ }
},
{
dbField: "title",
@@ -123,7 +149,10 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.OFFICE,
AD_CATEGORY.LAND,
AD_CATEGORY.GARAGE
- ]
+ ],
+ constraint: {
+ presence: true
+ }
},
{
dbField: "shortDescription",
@@ -136,7 +165,8 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.OFFICE,
AD_CATEGORY.LAND,
AD_CATEGORY.GARAGE
- ]
+ ],
+ constraint: {}
},
{
dbField: "streetName",
@@ -149,7 +179,8 @@ const BASIC_INPUT_PUBLISH = [
AD_CATEGORY.OFFICE,
AD_CATEGORY.LAND,
AD_CATEGORY.GARAGE
- ]
+ ],
+ constraint: {}
}
];
diff --git a/app/controllers/publishRealEstate.js b/app/controllers/publishRealEstate.js
index ef822c7..8db1537 100644
--- a/app/controllers/publishRealEstate.js
+++ b/app/controllers/publishRealEstate.js
@@ -2,6 +2,8 @@ const { currentRealEstate } = require("../helpers/url");
const { createRealEstate } = require("../helpers/db/realEstate");
const { getKiviOriginalById } = require("../helpers/db/kiviOriginal");
+const validate = require("validate.js");
+
const {
AD_CATEGORY,
FURNISHING_TYPE,
@@ -162,7 +164,8 @@ const getPublishInputs = async (req, res) => {
basicInputInputs,
basicInputValues,
additionalInputInputs,
- additionalInputValues
+ additionalInputValues,
+ validate: validate
});
};
diff --git a/app/public/main.css b/app/public/main.css
index 2258be6..39f0c07 100644
--- a/app/public/main.css
+++ b/app/public/main.css
@@ -158,3 +158,7 @@ h3 {
.estates-link {
color: rgba(0, 0, 0, 0.87);
}
+
+.error {
+ color: #cc0033;
+}
diff --git a/app/views/layout.ejs b/app/views/layout.ejs
index 7856ad6..2b89910 100644
--- a/app/views/layout.ejs
+++ b/app/views/layout.ejs
@@ -16,6 +16,7 @@
+
diff --git a/app/views/publishEnd.ejs b/app/views/publishEnd.ejs
index 654b32c..452d005 100644
--- a/app/views/publishEnd.ejs
+++ b/app/views/publishEnd.ejs
@@ -4,12 +4,13 @@
Unesite kontakt email i objavite oglas.
-