Json 为组合字段值添加minlength条件
我的表单中有一个名字和姓氏字段,我需要强制执行一个规则,即名字和姓氏的组合长度至少应为4个字符。这在JSON模式v4验证程序中可能吗?我的JSON如下所示:Json 为组合字段值添加minlength条件,json,jsonschema,json-schema-validator,Json,Jsonschema,Json Schema Validator,我的表单中有一个名字和姓氏字段,我需要强制执行一个规则,即名字和姓氏的组合长度至少应为4个字符。这在JSON模式v4验证程序中可能吗?我的JSON如下所示: { "first_name" : "Fo", "last_name" : "L", ..... } 我不能在表单中保留全名字段-它需要是两个单独的字段first_name和last_name。我知道一种方法是在后端连接名字和姓氏,然后使用如下验证程序: $full_name = $first_name + $la
{
"first_name" : "Fo",
"last_name" : "L",
.....
}
我不能在表单中保留全名字段-它需要是两个单独的字段first_name和last_name。我知道一种方法是在后端连接名字和姓氏,然后使用如下验证程序:
$full_name = $first_name + $last_name;
--------------------------------------
"full_name": {
"type": "string",
"error_code": "incorrect_length",
"anyOf": [
{ "minLength": 4 },
{ "maxLength": 0 }
]
},
然而,我正在研究一种方法,在这种方法中,我不必创建一个伪全名字段。是否可以仅使用first_name和last_name字段进行验证?这在JSON模式中是可行的,尽管不是很好的方式,最好在后端进行验证。没有关键词可以做到这一点,因此您必须使用其中一个,并涵盖以下有效案例:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"oneOf": [
{
"properties": {
"first_name": {
"minLength": 1
},
"last_name": {
"minLength": 3
}
}
},
{
"properties": {
"first_name": {
"minLength": 2
},
"last_name": {
"minLength": 2
}
}
},
{
"properties": {
"first_name": {
"minLength": 3
},
"last_name": {
"minLength": 1
}
}
}
]
}