var phoneIdentification = {
'phoneFiled': {
'label': 'Enter Phone',
'regex': '[0-9]{11,12}'
}
};
var mailIdentification = {
'mailField': {
'label': 'Enter Email',
'regex': '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$'
},
'passwordField': {
'label': 'Enter Password'
}
};
У меня есть, например, эти два данных. По умолчанию я делаю первый:
$scope.data.dataSource = phoneIdentification;
И Than in view:
<div ng-repeat="(key, item) in dataSource">
<label>{{item.label}}</label>
<input type="text" ng-if="item.regex" ng-pattern="{{item.regex}}"/>
</div>
И у меня есть кнопка также, при щелчке я изменил dataSource
, я устанавливаю новое значение из контроллера:
$scope.data.dataSource = mailIdentification;
Просмотр обновляется, но проблема - это проверки, он не обновляет входные данные Reg-exes>
Как можно перерисовать весь вид?
Вам не хватает свойства regex
в поле passwordField
в объекте mailIdentification
. Вам это нужно, потому что вы обращаетесь к нему в директиве ng-repeat.
Ваш объект mailIdentification должен выглядеть следующим образом:
var mailIdentification = {
...
'passwordField': {
'label': 'Enter Password',
'regex': 'some regex here'
}
};