From 639b0139b5713badf37e67b4fe7b9d3b3a592163 Mon Sep 17 00:00:00 2001 From: Li Jun <buli@deloitte.com.cn> Date: 星期一, 09 五月 2022 13:38:24 +0800 Subject: [PATCH] fixRequiredFieldValidation0509 --- force-app/main/default/pages/NewAndEditContact.page | 108 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 66 insertions(+), 42 deletions(-) diff --git a/force-app/main/default/pages/NewAndEditContact.page b/force-app/main/default/pages/NewAndEditContact.page index 8eed654..9d51e13 100644 --- a/force-app/main/default/pages/NewAndEditContact.page +++ b/force-app/main/default/pages/NewAndEditContact.page @@ -1,9 +1,15 @@ <apex:page standardController="Contact" extensions="NewAndEditContactController" id="page" action="{!PageLoad}"> - <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> + <apex:includeScript value="{!URLFOR($Resource.connection20)}"/> <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> + <style> + .disabledbutton { + pointer-events: none; + opacity: 0.4; + } + </style> <script> var config = {}; @@ -133,10 +139,24 @@ var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}'); console.log('{!staticResource}'); var VLookUpFields = {! VLookUpFieldsJson}; + + function EditButton(isDisabled){ + var topele = document.getElementById('topButtonRow'); + var bottomele = document.getElementById('bottomButtonRow'); + + if (isDisabled) { + topele.classList.add("disabledbutton"); + bottomele.classList.add("disabledbutton"); + }else { + topele.classList.remove("disabledbutton"); + bottomele.classList.remove("disabledbutton"); + } + } + function ProcessPI(sobjJson, payloadForNewPI) { blockme(); if ({!isNewMode} || {!isCloneMode}) { - NewPIToAWS(sobjJson, payloadForNewPI) + NewPIToAWS(sobjJson, payloadForNewPI) }else { UpdatePIToAWS(sobjJson, payloadForNewPI) } @@ -164,8 +184,8 @@ } return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; } - - function IsFormElement(e){ + + function IsFormElement(e){ return IsFormTag(e.tagName); } @@ -175,34 +195,34 @@ function validateFieldValueFormate() { let error_msg = ''; - let textEmail = "[data-id='Email']"; - let textPhone = "[data-id='Phone']"; - //Email - let email = document.querySelector(textEmail); - if(email ){ - if(email.value){ - if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ - error_msg += ';閭欢鏍煎紡閿欒'; - } - }else{ - if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ - error_msg += ';閭欢鏍煎紡閿欒'; - } - } - } - let phone = document.querySelector(textPhone); + // let textEmail = "[data-id='Email']"; + // let textPhone = "[data-id='Phone']"; + // //Email + // let email = document.querySelector(textEmail); + // if(email ){ + // if(email.value){ + // if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ + // error_msg += ';閭欢鏍煎紡閿欒'; + // } + // }else{ + // if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ + // error_msg += ';閭欢鏍煎紡閿欒'; + // } + // } + // } + // let phone = document.querySelector(textPhone); - if(phone && false ){ - if(phone.value){ - if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; - } - }else{ - if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ - error_msg += ';鐢佃瘽鍙风爜閿欒'; - } - } - } + // if(phone && false ){ + // if(phone.value){ + // if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ + // error_msg += ';鐢佃瘽鍙风爜閿欒'; + // } + // }else{ + // if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ + // error_msg += ';鐢佃瘽鍙风爜閿欒'; + // } + // } + // } let es = document.getElementsByTagName('select') for(let ei in es){ @@ -268,7 +288,7 @@ // let e1 = document.getElementById(api_id_map[field_api_name]); // if(!result[field_api_name] && e1 && e1.value){ - // result[field_api_name] = e1.value; + // result[field_api_name] = e1.value; // } } return result; @@ -303,7 +323,6 @@ window.open('/' + sfId, '_self'); } } - } function UpdatePIToAWS(sobjJson, payloadForNewPI) { @@ -325,7 +344,9 @@ function checkRequiredFieldMsg(formData) { let blankRequiredFields = ''; for(i = 0;i<requiredFieldAPIList.length;i++){ - if(formData[requiredFieldAPIList[i]]){ + if(formData[requiredFieldAPIList[i]] && (VLookUpFields.indexOf(requiredFieldAPIList[i]) == -1)){ + continue; + }else if((VLookUpFields.indexOf(requiredFieldAPIList[i]) != -1) && formData[requiredFieldAPIList[i]] != '000000000000000'){ continue; }else{ if(blankRequiredFields == ''){ @@ -339,6 +360,8 @@ return blankRequiredFields; } function saveSobjectProcess(save_and_new) { + EditButton(true); + if(save_and_new){ config.SaveAndNew = true; } @@ -378,6 +401,7 @@ errorMsg = '閿欒锛氭棤鏁堟暟鎹��' + '\n' + errorMsg; errorMsgNode.innerText = errorMsg; errorMsgNode.className = 'pbError'; + EditButton(false); } function hiddenErrorMsgNode() { let errorMsgNode = document.getElementById("page:form:block:msgContent"); @@ -452,20 +476,20 @@ var api_id_map={}; for(let ei in init_nodes){ let e = init_nodes[ei]; - if(IsFormElement(e)){ + if(IsFormElement(e)){ if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ api_id_map[GetEleApiName(e)] = e.id; } - + } } console.log(api_id_map); sfdcPage.appendToOnloadQueue(function () { jQuery('option').each(function(i,e){ - if(e.value == '_\x01_'){ - e.value = ''; - } + if(e.value == '_\x01_'){ + e.value = ''; + } }) //1. Set Last Name label @@ -476,7 +500,7 @@ blockme(); QuerySobjectFromAWS(); }else{ - let ot = jQuery('input[data-id="OwnerId"]'); + let ot = jQuery('input[data-id="OwnerId"]'); let oi = document.getElementById(ot.attr("id")+'_lkid'); ot.val('{!CurrentUserName}'); ot.attr("readonly",""); @@ -485,11 +509,11 @@ ot.css("outline","0"); if(oi){ - oi.value = '{!CurrentUserId}' + oi.value = '{!CurrentUserId}' } } document.getElementById('topButtonRow').style = ''; -聽 聽 聽 聽 聽 document.getElementById('bottomButtonRow').style = ''; + document.getElementById('bottomButtonRow').style = ''; jQuery('a[data-id="OwnerId"]').remove(); -- Gitblit v1.9.1