Return TypeFunction nameArguments
voidhdsPage::WriteValidationJS(void)

Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp

Function Logic:

0:START 1:hzLogger::Log fi 2:fi.Valid(); 3:hzList::Iter::Element pFormref hzLogger::Log 4:!pFormref 5:hzLogger::Log 6:pFormdef 7:!pFormdef 8:hzLogger::Log 9:nm_vecFlds.Count(); 10:pFld 11:!pFld->m_Varname 12:!(pFld->m_flagVE&VE_UNIQUE) 13:!pFld->m_pClass||!pFld->m_pMem 14:hzChain::Printf hdbDatatype::txtType hdbMember::txtName hzChain::Printf items hzChain::Printf hzChain::Printf hzChain::Printf items m_bScriptFlags 15:hzChain::Printf n 16:nm_vecFlds.Count(); 17:pFld 18:!pFld->m_Varname 19:!(pFld->m_flagVE&VE_COMPULSORY) 20:pFld->m_Fldspec.m_pType->Basetype()==BASETYPE_ENUM 21:hzChain::Printf 22:hzChain::Printf 23:hzChain::Printf 24:pFld->m_Fldspec.m_pType->Basetype()==BASETYPE_EMADDR 25:hzChain::Printf hzChain::Printf m_bScriptFlags 26:pFld->m_Fldspec.m_pType->Basetype()==BASETYPE_URL 27:hzChain::Printf hzChain::Printf m_bScriptFlags 28:pFormdef->m_bScriptFlags&INC_SCRIPT_RECAPTCHA 29:hzChain::Printf hzChain::Printf 30:hzChain::Printf 31:m_validateJS 32: No text

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 ;
}