Forum
18:41
16/12/2008
Hi Tony, I add an editrules option to validate URLs that I thought was worth suggesting. I think someone who is a lot better at REGEX than I am could take this much further, but I'll post the basic expression that I've settled on for now.
I did this for 3.5A3 - in grid.common.js, add the following in function checkValues
if(edtrul.url === true) {
if( !(rqfield === false && isEmpty(val)) ) {
var filter = /^(((https?)|(ftp)):\\/\\/([\\-\\w]+\\.)+\\w{2,3}(\\/[%\\-\\w]+(\\.\\w{2,})?)*(([\\w\\-\\.\\?\\\\/+@&#;`~=%!]*)(\\.\\w{2,})?)*\\/?)/i;
if(!filter.test(val)) {return [false,g.p.colNames[valref]+": "+jQuery.jgrid.edit.msg.url,""];}
}
}
// end: url validation
and in grid.locale-en.js, in the "edit" block, I added
url: "is not a valid URL...prefix required ('http://' or 'https://')",
and of course, in the colModel,
editrules:{url:true}
If shear length is any indication of a REGEX's effectiveness, the one at the end of this page looks pretty good (also posted below): http://geekswithblogs.net/casualjim/archive/2005/12/01/61722.aspx
^(?#Protocol)(?:(?:ht|f)tp(?:s?)\\:\\/\\/|~/|/)?(?#Username:Password)(?:\\w+:\\w+@)?(?#Subdomains)(?:(?:[-\\w]+\\.)+(?#TopLevel Domains)(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))(?#Port)(?::[\\d]{1,5})?(?#Directories)(?:(?:(?:/(?:[-\\w~!$+|.,=]|%[a-f\\d]{2})+)+|/)+|\\?|#)?(?#Query)(?:(?:\\?(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)(?:&(?:[-\\w~!$+|.,*:]|%[a-f\\d{2}])+=(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)*)*(?#Anchor)(?:#(?:[-\\w~!$+|.,*:=]|%[a-f\\d]{2})*)?$
but it threw an error and I couldn't even begin to debug it, so went with the simple example above.
Thanks!
Adam
10:15
Moderators
30/10/2007
Hello,
Thanks. Added. You can see the change in GitHub.
Regards
Tony
For professional UI suites for Java Script and PHP visit us at our commercial products site - guriddo.net - by the very same guys that created jqGrid.
Most Users Ever Online: 715
Currently Online:
57 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
OlegK: 1255
markw65: 179
kobruleht: 144
phicarre: 132
YamilBracho: 124
Renso: 118
Member Stats:
Guest Posters: 447
Members: 11373
Moderators: 2
Admins: 1
Forum Stats:
Groups: 1
Forums: 8
Topics: 10592
Posts: 31289
Newest Members:
, razia, Prankie, psky, praveen neelam, greg.valainis@pa-tech.comModerators: tony: 7721, Rumen[Trirand]: 81
Administrators: admin: 66