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'...