使用表单控件时,虽然定义了required-field="true",但这样只是界面中控件后面显示一个*号,并不会提交前进行校验,即使为空也一样能提交成功。
<form name="EditInternalOrg" type="single" target="editInternalOrg" default-map-name="partyGroup"
header-row-style="header-row" default-table-style="basic-table">
<field name="partyId" title="${uiLabelMap.partyId}"><display /></field>
<field name="groupName" title="${uiLabelMap.groupName}" required-field="true"><text /></field>
<field name="dummy1" title=" " position="1"><display/></field>
<field name="submitButton" title="${uiLabelMap.CommonSubmit}" widget-style="buttontext"><submit button-type="text-link"/></field>
</form>
实际的校验在后台进行的。
例子:
<simple-method method-name="editInternalOrg" short-description="修改部门名称">
<if-empty field="parameters.groupName">
<add-error>
<fail-message message="部门名称不能为空."/>
</add-error>
<check-errors/>
</if-empty>
<set field="updatePartyGroupMap.groupName" from-field="parameters.groupName"/>
<set field="updatePartyGroupMap.partyId" from-field="parameters.partyId"/>
<call-service service-name="updatePartyGroup" in-map-name="updatePartyGroupMap"></call-service>
</simple-method>
执行时会校验请求的groupName参数不能为空,如果为空则会执行check-errors时检测到有错误,返回错误信息。
提交前界面:
点击提交后弹出提示:
ps:可能这个例子哪里有bug,导致必选字段校验没能成功,即使字段为空也直接提交了。其他正常表单有必选字段为空是提交不了的,会提示哪些字段是必选字段。