提交 03d15ffd 编写于 作者: M mindless

Add class="required" client-side validator.

Added support for multiple client-side validators (class="required number"),
and for checkMessage=".." attribute to override default error message.


git-svn-id: https://hudson.dev.java.net/svn/hudson/trunk/hudson/main@21538 71c3de6d-444a-0410-be80-ed276b4c234a
上级 5491cb25
......@@ -223,13 +223,20 @@ function registerValidator(e) {
function registerRegexpValidator(e,regexp,message) {
e.targetElement = findFollowingTR(e, "validation-error-area").firstChild.nextSibling;
var checkMessage = e.getAttribute('checkMessage');
if (checkMessage) message = checkMessage;
var oldOnchange = e.onchange;
e.onchange = function() {
var set = oldOnchange != null ? oldOnchange.call(this) : false;
if (this.value.match(regexp)) {
this.targetElement.innerHTML = "";
if (!set) this.targetElement.innerHTML = "";
} else {
this.targetElement.innerHTML = "<div class=error>" + message + "</div>";
set = true;
}
return set;
}
e.onchange.call(e);
e = null; // avoid memory leak
}
......@@ -434,6 +441,9 @@ var hudsonRules = {
"SELECT.validated" : registerValidator,
"TEXTAREA.validated" : registerValidator,
// validate required form values
"INPUT.required" : function(e) { registerRegexpValidator(e,/./,"Field is required"); },
// validate form values to be a number
"INPUT.number" : function(e) { registerRegexpValidator(e,/^(\d+|)$/,"Not a number"); },
"INPUT.positive-number" : function(e) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册