我想根据另一个字段中的数据为一个字段指定正则表达式模式.这可能吗?我已经尝试过switch和$ data,但不知道如何使用它们.例如,如果数据如下:
{
"contacts":[
{
"mode":"Email",
"contact":"john.doe@abc.com"
},
{
"mode":"Phone",
"contact":"111-555-1234"
}
]
}
Run Code Online (Sandbox Code Playgroud)
和schema看起来像:
"$schema":"http://json-schema.org/draft-04/schema#",
"type":"object",
"properties":{
"Contacts":{
"type":"array",
"minItems":1,
"items":{
"type":"object",
"properties":{
"mode":{
"type":"string",
"enum":[
"Email",
"Phone"
]
},
"contact":{
"type":"string",
"pattern":"?????"
}
},
"required":[
"mode",
"contact"
]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何根据模式中的数据设置联系模式,这样如果模式是电子邮件,它会验证联系人对电子邮件格式的正则表达式,如果模式是电话,它会验证联系人对电话格式的正则表达式?我有每个的正则表达式.我需要逻辑来选择其中一个.