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.
-
+
+
diff --git a/app/views/publishRealEstate.ejs b/app/views/publishRealEstate.ejs index b621e82..4f6c265 100644 --- a/app/views/publishRealEstate.ejs +++ b/app/views/publishRealEstate.ejs @@ -1,5 +1,5 @@
-
+
    @@ -28,13 +28,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Podaci o nekretnini - Kivi.ba + + + + + + + + +
    +
    +
    +
    + +
    +
    +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    + + +
    + +
    +
    +
    + +

    + +

    + +

    + +

    + +

    + +

    + +
    + +
    + +
    +

    + + + + + + + + + +
    + + + + +
    +
    +
    +
    + +
    + + +
    + +
    + +
    + + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + +

    + + +
    + +
    +

    + + + + + + + + + + + + + +
    + +
    +

    + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    + Izaberite lokaciju nekretnine na mapi. +

    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    +
    +
    +
    +

    Vaš oglas je spreman!

    + Unesite kontakt email i objavite oglas. + +
    +
    + +
    + +
    +
    +
    +
    + +
    + +
    +
    +
    + + +
    + + +
    + + + + +