@dvsa/smc-encounter-schema
Version:
Schemas required for Encounter submission as well as custom validators ## Developing ### Pre-requisites
1 lines • 1.11 kB
JavaScript
;var classValidator=require('class-validator');var c=Object.defineProperty;var l=(a,t)=>c(a,"name",{value:t,configurable:true});var d=(a,t,o,r)=>{for(var e=t,s=a.length-1,i;s>=0;s--)(i=a[s])&&(e=(i(e))||e);return e};exports.IsValidLicenceNumberForUKConstraint=class n{validate(t,o){let r=o.object,e=/(^[A-Za-z9]{5}\d[0156]\d([0][1-9]|[12]\d|3[01])\d[A-Za-z9]{2}\d[A-Za-z]{2}$)|(^[0-9]{8}$)/,i=r?.nationality?.irlCode?.toUpperCase();return (i==="GB"||i==="UK")&&r?.licenceIssueNo!=null&&t!=null?e.test(t):true}defaultMessage(){return "Driver licence number for GB/UK does not match the expected format."}};l(exports.IsValidLicenceNumberForUKConstraint,"IsValidLicenceNumberForUKConstraint"),exports.IsValidLicenceNumberForUKConstraint=d([classValidator.ValidatorConstraint({name:"IsValidLicenceNumberForUK",async:false})],exports.IsValidLicenceNumberForUKConstraint);function D(a){return (t,o)=>{classValidator.registerDecorator({target:t.constructor,propertyName:o,options:a,validator:exports.IsValidLicenceNumberForUKConstraint});}}l(D,"IsValidLicenceNumberForUK");exports.IsValidLicenceNumberForUK=D;