Json 如何基于角度模式形式中另一个字段的值验证该字段?
我有一个带有两个字段的表单,邮政编码和国家。 我需要根据国家选择使用$validator验证邮政编码 这是NGC控制器代码Json 如何基于角度模式形式中另一个字段的值验证该字段?,json,validation,angular-schema-form,Json,Validation,Angular Schema Form,我有一个带有两个字段的表单,邮政编码和国家。 我需要根据国家选择使用$validator验证邮政编码 这是NGC控制器代码 $scope.schema = { "type": "object", "title": "my form", "properties": { "postalCode": { "title": "Postal Code", "type": "string" }, "countryCode": { "title": "Country",
$scope.schema = {
"type": "object",
"title": "my form",
"properties": {
"postalCode": {
"title": "Postal Code",
"type": "string"
},
"countryCode": {
"title": "Country",
"type": "string",
"enum": [
"CA",
"US"
]
}
},
"required": [
"countryCode"
]
};
$scope.form = [{
"key": "postalCode",
$validators: {
// I would like to pass countryCode as the argument but doesn't work because I don't have model in my closure
postalCodeRegex: function (countryCodeValue) {
if (angular.isString(countryCodeValue)) {
var canada = "^(?!.*[DFIOQU])[A-VXY][0-9][A-Z]●?[0-9][A-Z][0-9]$";
if (/canada/.test(countryCodeValue)) return true;
else return false;
}
// if value is empty
return true;
}
}
},
"countryCode", {
"type": "submit",
"style": "btn-info",
"title": "OK"
}
];
是否有其他方法可以从$validators逻辑访问模型或范围
plunker链接查看我的代码:
@houss您可以使用onChange将这些值组合成一个新值“US-90210”,保存在作为表单一部分添加的键的隐藏字段中,然后使用覆盖这两种格式的正则表达式在该隐藏字段上进行验证。或者,如果您可能需要几个以上的国家,那么我将使用可以通过附加机制添加的指令 @houss您可以使用onChange将这些值组合成一个新值“US-90210”,保存在作为表单一部分添加的键的隐藏字段中,然后使用覆盖这两种格式的正则表达式在该隐藏字段上进行验证。或者,如果您可能需要几个以上的国家,那么我将使用可以通过附加机制添加的指令