@@ -18,7 +18,7 @@ export default class AddWebLink extends React.Component {
18
18
this . onUpdateWebLink = this . onUpdateWebLink . bind ( this ) ;
19
19
this . onAddWebLink = this . onAddWebLink . bind ( this ) ;
20
20
this . isWebLinkValid = this . isWebLinkValid . bind ( this ) ;
21
- this . isWebLinkExist = this . isWebLinkExist . bind ( this ) ;
21
+ this . webLinkExist = this . webLinkExist . bind ( this ) ;
22
22
}
23
23
24
24
componentWillReceiveProps ( nextProps ) {
@@ -45,30 +45,32 @@ export default class AddWebLink extends React.Component {
45
45
tokenV3,
46
46
} = this . props ;
47
47
const { webLink } = this . state ;
48
- if ( webLink && this . isWebLinkValid ( ) && ! this . isWebLinkExist ( ) ) {
48
+ if ( webLink && this . isWebLinkValid ( ) && ! this . webLinkExist ( ) ) {
49
49
addWebLink ( handle , tokenV3 , webLink ) ;
50
50
}
51
51
}
52
52
}
53
53
54
54
isWebLinkValid ( ) {
55
55
const { webLink } = this . state ;
56
- return ! webLink || / ^ ( h t t p ( s ? ) : \/ \/ ) ? ( w w w \. ) ? [ a - z A - Z 0 - 9 \. \- \_ ] + ( \. [ a - z A - Z ] { 2 , 15 } ) + ( \/ [ a - z A - Z 0 - 9 \_ \- \s \. \/ \? \% \# \& \= ] * ) ? $ / . test ( webLink ) ; /* eslint-disable-line no-useless-escape */
56
+ return ! webLink
57
+ || ( webLink . includes ( 'www' ) && / ^ ( h t t p ( s ? ) : \/ \/ ) ? ( w w w \. ) [ a - z A - Z 0 - 9 \. \- \_ ] + ( \. [ a - z A - Z ] { 2 , 15 } ) + $ / . test ( webLink ) ) /* eslint-disable-line no-useless-escape */
58
+ || ( ! webLink . includes ( 'www' ) && / ^ ( h t t p ( s ? ) : \/ \/ ) ? [ a - z A - Z 0 - 9 \. \- \_ ] + ( \. [ a - z A - Z ] { 2 , 15 } ) + $ / . test ( webLink ) ) ; /* eslint-disable-line no-useless-escape */
57
59
}
58
60
59
- isWebLinkExist ( ) {
61
+ webLinkExist ( ) {
60
62
const { webLink } = this . state ;
61
63
const {
62
64
allLinks,
63
65
} = this . props ;
64
- return _ . some ( allLinks , link => link . URL . toLowerCase ( ) === webLink . toLowerCase ( ) ) ;
66
+ return _ . some ( allLinks , link => link . URL && ( link . URL . toLowerCase ( ) === webLink . toLowerCase ( ) ) ) ;
65
67
}
66
68
67
69
render ( ) {
68
70
const { webLink } = this . state ;
69
71
70
72
const webLinkValid = this . isWebLinkValid ( ) ;
71
- const isWebLinkExist = this . isWebLinkExist ( ) ;
73
+ const webLinkExist = this . webLinkExist ( ) ;
72
74
73
75
return (
74
76
< div styleName = "external-web-link" >
@@ -94,7 +96,7 @@ export default class AddWebLink extends React.Component {
94
96
required
95
97
/>
96
98
{
97
- ! webLinkValid && ! isWebLinkExist
99
+ ! webLinkValid && ! webLinkExist
98
100
&& (
99
101
< div styleName = "form-input-error" >
100
102
< p >
@@ -104,7 +106,7 @@ Please enter a valid URL
104
106
)
105
107
}
106
108
{
107
- isWebLinkExist
109
+ webLinkExist
108
110
&& (
109
111
< div styleName = "form-input-error" >
110
112
< p >
0 commit comments