schema validator for boilerplat

by bilbobaggins

JavaScript

var fieldname=[ { "inputtype": "textbox", "inputname": "name", "inputplaceholder": "please enter name", "fieldtypename": "STRING", "fieldvalidatename": "string", "fieldmaxlength": "80" }, { "inputtype": "textbox", "inputname": "last name", "inputplaceholder": "please enter last name", "fieldtypename": "STRING", "fieldvalidatename": "string", "fieldmaxlength": "80" }, { "inputtype": "textbox", "inputname": "age", "inputplaceholder": "please enter age", "fieldtypename": "INTEGER", "fieldvalidatename": "number", "fieldmaxlength": "100" }, { "inputtype": "textbox", "inputname": "mobile", "inputplaceholder": "please mobile no", "fieldtypename": "INTEGER", "fieldvalidatename": "mobile", "fieldmaxlength": "80" } ]
/*STRING*/
/*first_name: {
    type: 'string',
    allOf: [{ transform: ['trim'] }, { minLength: 1 }, { maxLength: 45 }]
  },*/
  /*DATE*/
  /*birth_date: {
    type: 'string',
    allOf: [{ transform: ['trim'] }, { minLength: 1 }, { maxLength: 30 }],
    format: 'date-time'
  },*/
  /*INTEGER,BIGINT*/
  /*pageSize: {
      type: 'integer',
      minimum: 1,
      maximum: 100
    },*/
    
let baseSchemaBuilder=function(fieldname)
{
var interims="";
    fieldname.forEach(function(a)
    {
    
    if(a.fieldtypename=="STRING")
    {
    interims=interims+ `${a.inputname}: {
    type: 'string',
    allOf: [{ transform: ['trim'] }, { minLength: 1 }, { maxLength: ${a.fieldmaxlength} }]
  },`
    }
    else if (a.fieldtypename=="INTEGER" || a.fieldtypename=="BIGINT")
    {
    interims=interims+`${a.inputname}: {
      type: 'integer',
      minimum: 1,
      maximum: ${a.fieldmaxlength}
    },`
    }
    else if (a.fieldtypename=="DATE")
    {
    interims=interims+ `${a.inputname}: {
    type: 'string',
    allOf: [{ transform: ['trim'] }, { minLength: 1 }, { maxLength: ${a.fieldmaxlength} }],
    format: 'date-time'`
    }
    
    });
    return interims
    
}
//console.log(baseSchemaBuilder(fieldname))

var red=[ 'firstname', 'lastname', 'age', 'phone'...