diff --git a/public/views/modals/addressbook.html b/public/views/modals/addressbook.html
index b1aca8a2e..0b2662b80 100644
--- a/public/views/modals/addressbook.html
+++ b/public/views/modals/addressbook.html
@@ -67,7 +67,8 @@
+ ng-model="addressbookEntry.address"
+ valid-address required>
diff --git a/src/js/directives/directives.js b/src/js/directives/directives.js
index 19b2e667e..285df5fd4 100644
--- a/src/js/directives/directives.js
+++ b/src/js/directives/directives.js
@@ -8,10 +8,6 @@ angular.module('copayApp.directives')
var URI = bitcore.URI;
var Address = bitcore.Address
var validator = function(value) {
- var networkName = attrs.networkName;
-
- if (!networkName)
- throw 'validAddress should provide network name';
// Regular url
if (/^https?:\/\//.test(value)) {
@@ -21,13 +17,14 @@ angular.module('copayApp.directives')
// Bip21 uri
if (/^bitcoin:/.test(value)) {
- var uri, isAddressValid;
+ var uri, isAddressValidLivenet, isAddressValidTestnet;
var isUriValid = URI.isValid(value);
if (isUriValid) {
uri = new URI(value);
- isAddressValid = Address.isValid(uri.address.toString(), networkName)
+ isAddressValidLivenet = Address.isValid(uri.address.toString(), 'livenet')
+ isAddressValidTestnet = Address.isValid(uri.address.toString(), 'testnet')
}
- ctrl.$setValidity('validAddress', isUriValid && isAddressValid);
+ ctrl.$setValidity('validAddress', isUriValid && (isAddressValidLivenet || isAddressValidTestnet));
return value;
}
@@ -37,7 +34,9 @@ angular.module('copayApp.directives')
}
// Regular Address
- ctrl.$setValidity('validAddress', Address.isValid(value, networkName));
+ var regularAddressLivenet = Address.isValid(value, 'livenet');
+ var regularAddressTestnet = Address.isValid(value, 'testnet');
+ ctrl.$setValidity('validAddress', (regularAddressLivenet || regularAddressTestnet));
return value;
};