เพิ่มตรรกะการตรวจสอบความถูกต้อง
เพิ่มตรรกะการตรวจสอบความถูกต้อง (Add Validation Logic)
มีสองวิธีในการเพิ่มตรรกะการตรวจสอบลงในแบบฟอร์มอัจฉริยะของ ONEWEB
การตรวจสอบ JavaScript
ONEWEB Smart Forms มีการดำเนินการของเอนทิตีเพื่อแนบไฟล์ JavaScript กับเอนทิตี โปรดดู Entity Actions สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีแนบ JavaScript กับเอนทิตี
การตรวจสอบความถูกต้องของ JavaScript ส่วนใหญ่ใช้สำหรับการตรวจสอบฝั่งไคลเอ็นต์ เช่น รูปแบบช่องตรวจสอบหรือช่องบังคับ ขั้นแรกให้เพิ่มไฟล์ JavaScript ในการดำเนินการของโมดูล

ตอนนี้เปิดพื้นที่ทำงานใน Eclipse และสร้างไฟล์ JavaScript ที่ระบุในการดำเนินการของโมดูล เพิ่ม method การตรวจสอบ

สร้างและเผยแพร่ไปยังเซิร์ฟเวอร์ เมื่อปรับใช้กับเซิร์ฟเวอร์แล้ว อย่าลืมเพิ่มการตรวจสอบความถูกต้องนี้ลงในช่องบน AppDesigner คลิกที่ไอคอนแก้ไขดินสอสำหรับฟิลด์เพื่อเปิดแผงการกำหนดค่า เพิ่มการเรียกการตรวจสอบในคุณสมบัติแท็กต้นทาง

การตรวจสอบ Java
ONEWEB Smart Forms มี Entity Actions เพื่อแนบคลาส Java แบบกำหนดเองเข้ากับเอนทิตี โปรดดู Entity Actions สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีแนบคลาส Java กับเอนทิตี การตรวจสอบความถูกต้องของ Java ใช้สำหรับการตรวจสอบฝั่งเซิร์ฟเวอร์ก่อนที่จะบันทึกเอนทิตี ขั้นตอนแรกคือการเพิ่ม Entity Action และระบุชื่อคลาส Java ในคุณสมบัติ Class Action

เมื่อแนบคลาส java กับเอนทิตีผ่าน Entity Action แล้ว ให้เปิดพื้นที่ทำงาน ONEWEB ใน eclipse สร้างคลาสจาวาเป็นส่วนขยายจาก "ProcessHelper" และใช้อินเทอร์เฟซ "ProcessAction" Eclipse จะสร้าง stub ของคลาส ตอนนี้แทนที่เมธอด "validateResult()" เพื่อเพิ่มตรรกะการตรวจสอบความถูกต้องแบบกำหนดเองก่อนที่จะบันทึกเอนทิตี โปรดดูส่วน validation section in Sample Apps สำหรับตัวอย่างโดยละเอียดเพิ่มเติม
package com.manual.doc.order.java;
import java.util.HashMap; import java.util.Vector;
import org.apache.log4j.Logger;
import com.manual.service.ManualDAOFactory;
import com.master.form.EntityFormHandler;
import com.master.util.EAFManualUtil;
import com.master.util.ProcessAction;
import com.master.util.ProcessHelper;
public class OrderRequestBackOfficeUpdateMode extends ProcessHelper implements ProcessAction {
private static Logger logger = Logger.getLogger(OrderRequestBackOfficeUpdateMode.class);
@Override
public boolean validateResult() {
String nextEntity = request.getParameter("goEntity");
logger.debug("@@@@@ nextEntity :" + nextEntity);
if(nextEntity == null || "".equals(nextEntity)) {
String entityID = (String)getRequest().getSession().getAttribute("entityID");
EntityFormHandler entityForm = (EntityFormHandler)getRequest().getSession().getAttribute(entityID +"_session");
Vector errorVect = entityForm.getFormErrors();
String moduleID = entityForm.getMainModuleID();
HashMap mainRequestData = EAFManualUtil.getDataHashMapFromSession(moduleID, request);
String requestID = (String)mainRequestData.get("REQUEST_ID");
try{
int inCompleteAmt = ManualDAOFactory.getManualDocOrderDAO().countInCompleteOrderUnit(requestID);
logger.debug("@@@@@ completeAmt :" + completeAmt);
if(completeAmt > 0){
errorVect.add("Please verify un-assign order unit.");
return false;
}
}catch(Exception e){
errorVect.add(e.getMessage());
return false;
}
}
return super.validateResult();
}
}
เมื่อเสร็จสิ้นการสร้างและเผยแพร่ไปยังเซิร์ฟเวอร์ ตอนนี้ ONEWEB จะดำเนินการตรวจสอบความถูกต้องนี้ทุกครั้งก่อนที่จะบันทึกเอนทิตี
Last updated