我希望为一个字段指定一个基于另一个字段中数据的正则表达式模式。这是可能的吗?我尝试过使用 switch 和 $data,但不确定如何使用它们。 例如,如果数据看起来像:
{
"contacts":[
{
"mode":"Email",
"contact":"john.doe@abc.com"
},
{
"mode":"Phone",
"contact":"111-555-1234"
}
]
}
结构大致如下:
"$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"
]
}
}
}
}
如何根据“mode”中的数据设置联系方式的模式,使得如果“mode”是电子邮件,则验证联系方式是否符合电子邮件格式的正则表达式,如果“mode”是电话,则验证联系方式是否符合电话格式的正则表达式?我已经有每个正则表达式了,我需要选择其中一个的逻辑。