【primeface】表单必填校验

  1. Html 表单元素添加 必填 属性(required& requiredMessage),添加 id 用于message显示
<h:selecOneMenu id="selectMenu" required="true" requiredMessage="this key cannot be empty">
   <f:selectItem itemValue="1" itemLable="Yes"></f:selectItem>
   <f:selectItem itemValue="0" itemLable="No"></f:selectItem>
</h:selecOneMenu>
  1. 添加提示文案显示元素(h:message),for对应上一步的id, 添加 id 用于元素更新显示
<h:message for="selectMenu" id="selectOneMessage"/>
  1. 提交表单按钮 – 表单提示文案(selectOneMessage)对应元素也需要同步更新(update)
<p:commandButton value="Save" ajax="true" update="selectOneMessage" actionListener="#{updateController.Confirm()}">
</p: commandButton>

表单校验问题

问题描述: 表单的requirechange 同时存在时,require 校验先触发,当require 校验未通过时,change事件将不会触发,但需要触发change修改按钮disabled状态

解决方案:
primeface组件自带require校验,放在change中,或者changeoncomplete回调中

<h:selecOneMenu id="selectMenu">
   <f:selectItem itemValue="1" itemLable="Yes"></f:selectItem>
   <f:selectItem itemValue="0" itemLable="No"></f:selectItem>
  	<!-- bean.changeSaveDisable() 为java 方法 实时修改按钮disabled状态 -->
   <p:ajax event="change" listener="#{bean.changeSaveDisable()}" update="btnSaveRegionalEvent" oncomplete='validateForm()'/>
</h:selecOneMenu>
<!-- require 校验未通过时的文案 -->
<h:outputText id="errMessage" style="display: none;line-height:35px"  value="This key cannot be empty."></h:outputText>

<script type="application/javascript">
	function validateForm() {
		if (!$(".selectMenu").val()) {
			$(errMessage).css("display","inline")
		} else {
			$(errMessage).css("display","none")
		}
	}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值