l = []
if field.blank==False:
l.append("notBlank")
+ if field.__class__.__name__=="URLField":
+ l.append("url")
validators[field.name] = l
return validators
l = []
if field.blank==False:
l.append("notBlank")
+ if field.__class__.__name__=="URLField":
+ l.append("url")
validators[field.name] = l
return validators
}
function validateField(validatorName, value) {
+ if (validatorName=="notBlank") {
+ if ((value==undefined) || (value=="")) {
+ return "can not be blank";
+ }
+ }
+
+ // if notBlank wasn't set, and the field is blank, then we can return
+ if ((value==undefined) || (value=="")) {
+ return true;
+ }
+
switch (validatorName) {
- case "notBlank":
- if ((value==undefined) || (value=="")) {
- return "can not be blank";
- }
- break;
- case "isUrl":
+ case "url":
if (! /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)) {
return "must be a valid url";
}
},\r
\r
onFormDataInvalid: function(errors) {\r
+ this.$el.find(".help-inline").remove();\r
var self=this;\r
var markErrors = function(value, key) {\r
console.log("name='" + key + "'");\r
var $inputElement = self.$el.find("[name='" + key + "']");\r
var $inputContainer = $inputElement.parent();\r
- $inputContainer.find(".help-inline").remove();\r
+ //$inputContainer.find(".help-inline").remove();\r
var $errorEl = $("<span>", {class: "help-inline error", text: value});\r
$inputContainer.append($errorEl).addClass("error");\r
}\r