Return Type | Function name | Arguments |
---|---|---|
void | hdsPage::WriteValidationJS | (void) |
Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp
Function Logic:
Function body:
void hdsPage::WriteValidationJS (void) { _hzfunc("hdsPage::WriteValidationJS") ; hzList<hdsFormref*>::Iter fi ; hzChain Z ; hdsFormref* pFormref ; hdsFormdef* pFormdef ; hdsField* pFld ; uint32_t n ; _hzGlobal_Dissemino->m_pLog->Log("DOING PAGE %s\n", *m_Title) ; for (fi = m_xForms ; fi.Valid() ; fi++) { pFormref = fi.Element() ; m_pApp->m_pLog->Log("DOING FORM REF %p\n", pFormref) ; if (!pFormref) { _hzGlobal_Dissemino->m_pLog->Log("ERROR Page %s has a NULL form reference\n", *m_Title) ; continue ; } pFormdef = m_pApp->m_FormDefs[pFormref->m_Formname] ; if (!pFormdef) { m_pApp->m_pLog->Log("ERROR Page %s has a NULL form definition\n", *m_Title) ; continue ; } for (n = 0; n < pFormdef->m_vecFlds.Count() ; n++) { pFld = pFormdef->m_vecFlds[n] ; if (!pFld->m_Varname) continue ; if (!(pFld->m_flagVE & VE_UNIQUE)) continue ; if (!pFld->m_pClass || !pFld->m_pMem) continue ; Z.Printf("function ckUnique_%s()\n{\n", *pFld->m_Varname) ; Z.Printf("\tif (ckExists('%s','%s',document.%s.%s.value))\n", pFld->m_pClass->txtType(), pFld->m_pMem->txtName(), *pFormdef->m_Formname, *pFld->m_Varname) ; Z << "\t{\n" ; Z.Printf("\t\talert("%s already in use");\n" , *pFld->m_Varname) ; Z.Printf("\t\tdocument.%s.%s.value="";\n" , *pFormdef->m_Formname, *pFld->m_Varname) ; Z.Printf("\t\tdocument.%s.%s.focus();\n", *pFormdef->m_Formname, *pFld->m_Varname) ; Z << "\t}\n}\n" ; m_bScriptFlags |= INC_SCRIPT_EXISTS ; } Z.Printf("function ck%s()\n{\n", *pFormdef->m_Formname) ; for (n = 0; n < pFormdef->m_vecFlds.Count() ; n++) { pFld = pFormdef->m_vecFlds[n] ; if (!pFld->m_Varname) continue ; if (!(pFld->m_flagVE & VE_COMPULSORY)) continue ; if (pFld->m_Fldspec.m_pType->Basetype() == BASETYPE_ENUM) Z.Printf("\tif (document.%s.%s.value=="0")\n" , *pFormdef->m_Formname, *pFld->m_Varname) ; else Z.Printf("\tif (document.%s.%s.value=="")\n" , *pFormdef->m_Formname, *pFld->m_Varname) ; Z.Printf("\t\t{ alert("Please provide your %s"); document.%s.%s.focus(); return false; }\n" , *pFld->m_Varname, *pFormdef->m_Formname, *pFld->m_Varname) ; if (pFld->m_Fldspec.m_pType->Basetype() == BASETYPE_EMADDR) { Z.Printf("\tif (!ckEmaddr(document.%s.%s.value))\n", *pFormdef->m_Formname, *pFld->m_Varname) ; Z.Printf("\t\t{ document.%s.%s.focus(); return false }\n", *pFormdef->m_Formname, *pFld->m_Varname) ; m_bScriptFlags |= INC_SCRIPT_CKEMAIL ; } if (pFld->m_Fldspec.m_pType->Basetype() == BASETYPE_URL) { Z.Printf("\tif (!ckUrl(document.%s.%s.value))\n", *pFormdef->m_Formname, *pFld->m_Varname) ; Z.Printf("\t\t{ document.%s.%s.focus(); return false }\n", *pFormdef->m_Formname, *pFld->m_Varname) ; m_bScriptFlags |= INC_SCRIPT_CKURL ; } } if (pFormdef->m_bScriptFlags & INC_SCRIPT_RECAPTCHA) { Z.Printf("\tif (grecaptcha.getResponse()=="")\n" ) ; Z.Printf("\t\t{ alert("Please prove you are human!"); return false; }\n" ) ; } Z.Printf("\tdocument.%s.submit();\n\treturn true\n}\n", *pFormdef->m_Formname) ; } m_validateJS = Z ; }