b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

JSF + Primefaces表单验证

电脑杂谈  发布时间:2019-06-10 08:31:27  来源:网络整理

jsf 表单验证_js表单验证实力_jsf 表单验证

2019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)

领取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html

正则表达式匹配为空或者正整数:

jsf 表单验证_jsf 表单验证_js表单验证实力

^([0-9]{1}|[1-9]{1}[0-9]{0,}|)$

如果是表单做了值绑定jsf 表单验证,最好是绑定的字符串类型,否则可能被转化器将空字符串以null返回。

		<p:dialog header="广告修改" widgetVar="updateDlg" resizable="true"
			height="400" width="600" showEffect="fade" hideEffect="explode"
			modal="false" appendTo="@(body)">
			<h:form id="ad_form2">
				<p:messages autoUpdate="true" />
				<h:panelGrid id="p_update" columns="3" cellpadding="4"
					style="margin:0 auto;">
					<h:outputText value="标题:" />
					<p:inputText id="title_update" value="#{adConfigBean.advo.title}"
						required="true" label="标题" />
					<h:message for="title_update" style="color:red" />
					<h:outputText value="排序:" />
					<p:inputText id="sort_update" value="#{adConfigBean.advo.sort}" label="排序" validatorMessage="错误的排序!">
						<f:validateRegex pattern="^([0-9]{1}|[1-9]{1}[0-9]{0,}|)$" />	
					</p:inputText>
					<h:message for="sort_update" style="color:red" />
					<h:outputText value="广告URL:" />
					<p:inputText id="adUrl_update" value="#{adConfigBean.advo.adUrl}"
						required="false" label="广告链接" />
					<h:message for="adUrl_update" style="color:red" />
					<p:commandButton value="修改" title="Update"
						action="#{adConfigBean.updateAd}" ajax="true" widgetVar="uSenBtn"
						onstart="uSenBtn.disable()" oncomplete="uSenBtn.enable()"
						validateClient="true">
					</p:commandButton>
				</h:panelGrid>
			</h:form>
		</p:dialog>

jsf 表单验证_js表单验证实力_jsf 表单验证

自定义验证

一。backing bean中写验证方法jsf 表单验证,在表单上绑定验证器

	public void validateContent(ComponentSystemEvent event) {
		FacesContext fc = FacesContext.getCurrentInstance();
		UIComponent components = event.getComponent();
		UIInput uiInputContent = (UIInput) components
				.findComponent("content_update");
		String content = uiInputContent.getLocalValue() == null ? ""
				: uiInputContent.getLocalValue().toString();
		if (content != null && !"".equals(content.trim())) {
			boolean boo = ValidateUtil.validateUserVariable(variableArray,
					content);
			if (!boo) {
				FacesMessage msg = new FacesMessage("邮件模板内容包含非法用户变量");
				msg.setSeverity(FacesMessage.SEVERITY_ERROR);
				fc.addMessage(null, msg);
				fc.renderResponse();
			}
		}
	}

jsf 表单验证_js表单验证实力_jsf 表单验证

		<p:dialog header="重置邮件密码模板" widgetVar="et_updateDlg" resizable="false"
			width="600" height="400" showEffect="fade" hideEffect="explode"
			modal="true" appendTo="@(body)">
			<h:form id="etcfg_form2">
				<p:messages autoUpdate="true" globalOnly="false" />
				<f:event listener="#{cfgBean.validateContent}" type="postValidate" />
				<h:panelGrid id="etp_update" columns="2" cellpadding="4" style="margin:0 auto;">
					<h:outputText value="邮件标题: " />
					<p:inputText id="title_update" value="#{cfgBean.etmpvo.title}"
						required="true" label="标题">
					</p:inputText>
					
					<h:outputText value="变量说明: " />
					<h:outputText id="view_content"
						value="#{cfgBean.etmpvo.editorContent}" width="350" escape="false" />
					<h:outputText value="内容: " />
					<p:editor id="content_update" value="#{cfgBean.etmpvo.content}"
						width="350"  />
					<p:commandButton value="保存" icon="ui-icon-search" title="Update"
						update=":display_etcfg" widgetVar="etcfgBtn"
						onstart="etcfgBtn.disable()" oncomplete="etcfgBtn.enable()"
						action="#{cfgBean.updateEtmp}" ajax="true" validateClient="true">
					</p:commandButton>
					<h:inputHidden value="#{cfgBean.cfgvo.id}"></h:inputHidden>
				</h:panelGrid>
			</h:form>
		</p:dialog>

二。自定义验证器

				<h:outputText value="开始时间:" />
				<p:calendar value="#{chartBean.startDate}" pattern="yyyy-MM-dd" required="true" id="startTimeId"
					label="开始时间" binding="#{startDateComponent}"/>
				<h:outputText value="结束时间:" />
				<p:calendar value="#{chartBean.endDate}" pattern="yyyy-MM-dd" required="true" label="结束时间">
					<f:validator validatorId="twoTimeValidator" />  
					<f:attribute name="startDate" value="#{startDateComponent}" />
				</p:calendar>

js表单验证实力_jsf 表单验证_jsf 表单验证

package com.hshbic.cloud.m2m.framework.sysmgmt.view.validator;
import java.io.Serializable;
import java.util.Date;
import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.context.FacesContext;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;
public class TwoTimeValidator implements Validator, Serializable {
	private static final long serialVersionUID = 4303300874423328770L;
	@Override
	public void validate(FacesContext context, UIComponent component,
			Object value) throws ValidatorException {
		UIInput startDateComponent = (UIInput) component.getAttributes().get("startDate");
		Date startDate = (Date) startDateComponent.getValue();
		if (startDate == null || value == null) {
            return; // Let required="true" handle.
        }
		
		Date endDate = (Date)value;
		if (startDate.after(endDate)) {
            startDateComponent.setValid(false);
            throw new ValidatorException(new FacesMessage(
                FacesMessage.SEVERITY_ERROR, "开始时间不能晚于结束时间", null));
        }
	}
}

faces-config.xml配置验证器:

<validator>

<validator-id>twoTimeValidator</validator-id>

<validator-class>

com.hshbic.cloud.m2m.framework.sysmgmt.view.validator.TwoTimeValidator</validator-class>

</validator>


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-104983-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 世祖赫连勃勃
        世祖赫连勃勃

        看了你这么多文字

      • 郭向
        郭向

        本来伊拉克人民有和平的生活

      • 姬兴
        姬兴

        我觉得iOS9其实挺好的

      热点图片
      拼命载入中...