Custom validator for urls
parent
64846dca72
commit
e87d594106
|
@ -777,6 +777,45 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na
|
||||||
pikaday: (val) ->
|
pikaday: (val) ->
|
||||||
prettyDate = $translate.instant("COMMON.PICKERDATE.FORMAT")
|
prettyDate = $translate.instant("COMMON.PICKERDATE.FORMAT")
|
||||||
return moment(val, prettyDate).isValid()
|
return moment(val, prettyDate).isValid()
|
||||||
|
url: (val) ->
|
||||||
|
re_weburl = new RegExp(
|
||||||
|
"^" +
|
||||||
|
# protocol identifier
|
||||||
|
"(?:(?:https?|ftp)://)" +
|
||||||
|
# user:pass authentication
|
||||||
|
"(?:\\S+(?::\\S*)?@)?" +
|
||||||
|
"(?:" +
|
||||||
|
# IP address exclusion
|
||||||
|
# private & local networks
|
||||||
|
"(?!(?:10|127)(?:\\.\\d{1,3}){3})" +
|
||||||
|
"(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" +
|
||||||
|
"(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
|
||||||
|
# IP address dotted notation octets
|
||||||
|
# excludes loopback network 0.0.0.0
|
||||||
|
# excludes reserved space >= 224.0.0.0
|
||||||
|
# excludes network & broacast addresses
|
||||||
|
# (first & last IP address of each class)
|
||||||
|
"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
|
||||||
|
"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
|
||||||
|
"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
|
||||||
|
"|" +
|
||||||
|
# host name
|
||||||
|
"(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)" +
|
||||||
|
# domain name
|
||||||
|
"(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*" +
|
||||||
|
# TLD identifier
|
||||||
|
"(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))" +
|
||||||
|
# TLD may end with dot
|
||||||
|
"\\.?" +
|
||||||
|
")" +
|
||||||
|
# port number
|
||||||
|
"(?::\\d{2,5})?" +
|
||||||
|
# resource path
|
||||||
|
"(?:[/?#]\\S*)?" +
|
||||||
|
"$", "i"
|
||||||
|
)
|
||||||
|
return re_weburl.test(val)
|
||||||
|
|
||||||
}
|
}
|
||||||
checksley.updateValidators(validators)
|
checksley.updateValidators(validators)
|
||||||
|
|
||||||
|
|
|
@ -164,11 +164,11 @@ div.wrapper(
|
||||||
input(
|
input(
|
||||||
id="videoconference-url"
|
id="videoconference-url"
|
||||||
name="videoconference-url"
|
name="videoconference-url"
|
||||||
type="url"
|
type="text"
|
||||||
ng-model="project.videoconferences_extra_data"
|
ng-model="project.videoconferences_extra_data"
|
||||||
data-maxlength="250"
|
data-maxlength="250"
|
||||||
placeholder="{{'ADMIN.MODULES.URL_CHAT_ROOM' | translate}}"
|
placeholder="{{'ADMIN.MODULES.URL_CHAT_ROOM' | translate}}"
|
||||||
data-type="url"
|
data-url
|
||||||
data-required="true"
|
data-required="true"
|
||||||
)
|
)
|
||||||
fieldset.options
|
fieldset.options
|
||||||
|
|
Loading…
Reference in New Issue