角度根据另一个输入变化验证输入

时间:2015-02-06 10:51:50

标签: javascript angularjs validation

EG。假设我们有带zip-code字段的表单。要求是max-length是10,必需,对于一些反击,我们使用一些regexp ...所以max-length和required很容易但是zip-code模式怎么样?我们还有另一个用户检查国家/地区的选项...如何以最佳方式验证基于antoher字段值的邮政编码? :)

当然,我们可以编写指令,并在其范围内观察国家模型的变化,并在变更时验证代码,但是如果有更优雅的方法可以做到这一点?

1 个答案:

答案 0 :(得分: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>