2015-02-06 86 views
0

例如:假设我们有邮政编码字段的表单。要求是,最大长度是10,是必需的,对于一些计数器我们使用一些正则表达式...所以最大长度和要求很简单,但是关于邮编码模式呢?我们有另一个选择用户检查国家...如何验证基于antoher领域价值最佳方式的邮政编码字段? :)基于其他输入变化的角度验证输入

当然,我们可以编写指令并在范围内监视各国模型的变化,并在代码更改时验证代码,但是如果有更优雅的方法来执行此操作?

回答

1

假设你对国家和邮政编码的正则表达式的数据存储在这样:

$scope.countries = [ 
    {name:'country1', zip:'zipRegex1'}, 
    {name:'country2', zip:'zipRegex2'} 
]; 

假设你有这样的下拉的国家:

<select ng-model="selectedCountry" ng-options="country.name for country in countries"></select> 

您可以输入与ng-pattern像这样:

<input type="text" ng-model="zipFromUser" ng-pattern="selectedCountry.zip" required> 
+0

是的,这是很好的解决方案,但让我们假设我们不能将zip分配给国家(因为国家列表来自休息服务)。如果国家没有邮政编码正则表达式呢? – adi86 2015-02-06 11:34:51

+0

所以得到这个清单来自宁静的服务,并添加到它新的领域(邮政编码正则表达式)与JavaScript的地方是需要的。如果不是,只需添加'。*'模式('。*'匹配任何符号) – 2015-02-06 11:56:16