📄 clientvalidation.jsp
字号:
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<f:view>
<html>
<head>
<title>Client-Side Validation</title>
<style type="text/css">
.valid { color: green; }
.error { color: red; }
</style>
<script type="text/javascript">
function validateText() {
var form = document.forms.validForm;
var textArea = form.elements["validForm:textArea"];
var length = textArea.value.length;
var maxLength = <h:outputText value="#{textBean.maxLength}"/>;
var error = null;
if (length == 0)
error = "Text cannot be empty.";
else if (length > maxLength)
error = "Text cannot have more than "
+ maxLength + " characters."
var span = document.getElementById("charCount");
span.innerHTML = length;
span.className = (error == null) ? "valid" : "error";
return error;
}
function validateForm() {
var error = validateText();
if (error)
alert(error);
return error == null;
}
</script>
</head>
<body onload="validateText()">
<h1>Client-Side Validation</h1>
<h:form id="validForm" onsubmit="return validateForm()">
<h:panelGrid columns="1" border="0" cellspacing="5">
<h:panelGroup>
<f:verbatim>Text (max </f:verbatim>
<h:outputText value="#{textBean.maxLength}"/>
<f:verbatim> chars): <span id="charCount"></span></f:verbatim>
</h:panelGroup>
<h:panelGroup>
<h:inputTextarea id="textArea" value="#{textBean.text}"
required="true" rows="5" cols="30"
onkeyup="validateText()">
<f:validateLength maximum="#{textBean.maxLength}"/>
</h:inputTextarea>
<h:message for="textArea"/>
</h:panelGroup>
<h:commandButton id="submit" value="Submit"
action="#{textBean.submitAction}"/>
</h:panelGrid>
</h:form>
</body>
</html>
</f:view>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -