Validators_ClientValidator.js

const Schema = require('@d3v4pp/validate');
const { phoneMessages, emailMessages, zipCodeMessages, cityMessages, addressMessages, denominationSocialMessages, presidentMessages, rcsMessages, siretMessages, tvaIntracomMessages, contactMessages, contactPostMessages } = require('./ValidatorsMessagesFR');
const { email, phone, codePostal } = require('@d3v4pp/rex')
/**
 * @memberof Myintranet.Validators
 * @example
 * const errors = ClientValidator.validate(obj)
 */
const ClientValidator = new Schema({
    address: {
        type: String,
        required: true,
        length: { min: 1, max: 255 },
        message: addressMessages
    },
    city: {
        type: String,
        required: true,
        length: { min: 2, max: 100 },
        message: cityMessages
    },
    zipCode: {
        type: String,
        required: true,
        match: codePostal,
        length: { min: 2, max: 5 },
        message: zipCodeMessages
    },
    contact: {
        type: String,
        required: true,
        length: { min: 1, max: 100 },
        message: contactMessages

    },
    contactPost: {
        type: String,
        required: true,
        length: { min: 1, max: 168 },
        message: contactPostMessages

    },
    // contactMail: {
    //     type: String,
    //     match: email,
    //     //required: true,
    //     length: { min: 2, max: 100 },
    //     message: emailMessages
    //
    // },
    // contactPhone: {
    //     type: String,
    //     //required: true,
    //     match: phone,
    //     length: { min: 10, max: 14 },
    //     message: phoneMessages
    //
    // },
    denominationSocial: {
        type: String,
        required: true,
        length: { min: 3, max: 40 },
        message: denominationSocialMessages
    },
    president: {
        type: String,
        required: true,
        length: { min: 1, max: 168 },
        message: presidentMessages
    },
    rcs: {
        type: String,
        required: true,
        length: { min: 1, max: 100 },
        message: rcsMessages
    },
    siret: {
        type: String,
        required: true,
        length: { min: 14, max: 14 }
        ,
        message: siretMessages
    },
    tvaIntracom: {
        type: String,
        required: true,
        length: { min: 13, max: 13 },
        message: tvaIntracomMessages
    },
})

module.exports = ClientValidator;