@tradle/models
Version:
models for tradle apps
104 lines (103 loc) • 2.14 kB
JSON
{
"id": "tradle.PersonalInfo",
"title": "Personal Info",
"interfaces": [
"tradle.Verifiable"
],
"evidentiaryDocuments": [
],
"subClassOf": "tradle.Form",
"type": "tradle.Model",
"properties": {
"_t": {
"type": "string",
"readOnly": true
},
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
},
"name": {
"type": "string",
"displayAs": "{2} {1}",
"group": [
"lastName",
"firstName"
],
"readOnly": true,
"displayName": true
},
"dateOfBirth": {
"type": "date",
"maxDate": "18 years before",
"minDate": "110 years before"
},
"name_group": {
"type": "string",
"title": "Personal detail",
"list": [
"firstName",
"lastName",
"emailAddress",
"dateOfBirth",
"countryOfBirth",
"maritalStatus",
"education",
"nationality"
]
},
"contact_group": {
"type": "string",
"title": "Contact Information",
"list": [
"emailAddress",
"phones"
]
},
"countryOfBirth": {
"type": "object",
"ref": "tradle.Country"
},
"nationality": {
"type": "object",
"ref": "tradle.Country"
},
"phones": {
"type": "array",
"inlined": true,
"items": {
"ref": "tradle.Phone"
}
},
"emailAddress": {
"type": "string",
"pattern": "^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$",
"keyboard": "email-address",
"range": "email",
"sample": "internet.email"
},
"maritalStatus": {
"type": "object",
"ref": "tradle.MaritalStatus"
},
"education": {
"type": "object",
"ref": "tradle.EducationNL"
}
},
"editCols": [
"name_group",
"contact_group"
],
"required": [
"firstName",
"lastName",
"emailAddress"
],
"viewCols": [
"name_group",
"contact_group"
]
}