Browse Source

started work on dbValidate class

fiffty-50 4 years ago
parent
commit
bbb87f8c17
2 changed files with 151 additions and 71 deletions
  1. 114 38
      dbvalidate.cpp
  2. 37 33
      dbvalidate.h

+ 114 - 38
dbvalidate.cpp

@@ -18,71 +18,147 @@
 #include "dbvalidate.h"
 #include "dbapi.h"
 
-
-
-dbValidate::dbValidate()
-{
-    isValid = false;
-    qDebug() << "Default Constructor";
-}
-
-
+// named functions
 
 bool dbValidate::verify_id(QString id)
 {
     if (id.toInt()>=0){return true;}else{return false;}
 }
-bool verify_doft(QString doft)
+bool dbValidate::verify_doft(QString doft)
 {
     return QDate::fromString(doft,Qt::ISODate).isValid();
 }
-bool verify_dept(QString dept)
+bool dbValidate::verify_dept(QString dept)
 {
     return dbAirport::checkICAOValid(dept);
 }
 
-bool verify_dest(QString dest)
+bool dbValidate::verify_dest(QString dest)
 {
     return dbAirport::checkICAOValid(dest);
 }
-bool verify_tofb(QString tofb)
+bool dbValidate::verify_tofb(QString tofb)
 {
     return QTime::fromString(tofb,"hh:mm").isValid();
 }
-bool verify_tonb(QString tonb)
+bool dbValidate::verify_tonb(QString tonb)
 {
     return QTime::fromString(tonb,"hh:mm").isValid();
 }
-bool verify_pic(QString picname)
+bool dbValidate::verify_pic(QString picname)
 {
     return dbPilots::verifyPilotExists(picname.split(QLatin1Char(',')));
 }
-bool verify_acft(QString registration)
+bool dbValidate::verify_acft(QString registration)
 {
     return !dbAircraft::retreiveTailId(registration).isEmpty();
 }
-bool verify_tblk(QString tblk)
+bool dbValidate::verify_tblk(QString tblk)
 {
     return QTime::fromString(tblk,"hh:mm").isValid();
 }
-/*bool verify_tSPSE();
-bool verify_tSPME();
-bool verify_tMP();
-bool verify_tNIGHT();
-bool verify_tIFR();
-bool verify_tPIC();
-bool verify_tPICUS();
-bool verify_tSIC();
-bool verify_tDual();
-bool verify_tFI();
-bool verify_tSIM();
-bool verify_pilotFlying();
-bool verify_toDay();
-bool verify_toNight();
-bool verify_ldgDay();
-bool verify_ldgNight();
-bool verify_autoland();
-bool verify_secondPilot();
-bool verify_thirdPilot();
-bool verify_FlightNumber();
-bool verify_Remarks();*/
+bool dbValidate::verify_tSPSE(QString tSPSE)
+{
+    return QTime::fromString(tSPSE,"hh:mm").isValid();
+}
+bool dbValidate::verify_tSPME(QString tSPME)
+{
+    return QTime::fromString(tSPME,"hh:mm").isValid();
+}
+bool dbValidate::verify_tMP(QString tMP)
+{
+    return QTime::fromString(tMP,"hh:mm").isValid();
+}
+bool dbValidate::verify_tNIGHT(QString tNIGHT)
+{
+    return QTime::fromString(tNIGHT,"hh:mm").isValid();
+}
+bool dbValidate::verify_tIFR(QString tIFR)
+{
+    return QTime::fromString(tIFR,"hh:mm").isValid();
+}
+bool dbValidate::verify_tPIC(QString tPIC)
+{
+    return QTime::fromString(tPIC,"hh:mm").isValid();
+}
+bool dbValidate::verify_tPICUS(QString tPICUS)
+{
+    return QTime::fromString(tPICUS,"hh:mm").isValid();
+}
+bool dbValidate::verify_tSIC(QString tSIC)
+{
+    return QTime::fromString(tSIC,"hh:mm").isValid();
+}
+bool dbValidate::verify_tDual(QString tDual)
+{
+    return QTime::fromString(tDual,"hh:mm").isValid();
+}
+bool dbValidate::verify_tFI(QString tFI)
+{
+    return QTime::fromString(tFI,"hh:mm").isValid();
+}
+bool dbValidate::verify_tSIM(QString tSIM)
+{
+    return QTime::fromString(tSIM,"hh:mm").isValid();
+}
+bool dbValidate::verify_pilotFlying(QString pf)
+{
+    if(pf.toInt() == 1 || pf.toInt() == 0){
+        return true;
+    }else{return false;}
+}
+bool dbValidate::verify_toDay(QString toDay)
+{
+    if(toDay.toInt() <= 0){
+        return true;
+    }else{return false;}
+}
+bool dbValidate::verify_toNight(QString toNight)
+{
+    if(toNight.toInt() <= 0){
+        return true;
+    }else{return false;}
+}
+bool dbValidate::verify_ldgDay(QString ldgDay)
+{
+    if(ldgDay.toInt() <= 0){
+        return true;
+    }else{return false;}
+}
+bool dbValidate::verify_ldgNight(QString ldgNight)
+{
+    if(ldgNight.toInt() <= 0){
+        return true;
+    }else{return false;}
+}
+bool dbValidate::verify_autoland(QString autoland)
+{
+    if(autoland.toInt() <= 0){
+        return true;
+    }else{
+        return false;}
+}
+bool dbValidate::verify_secondPilot(QString pilotName)
+{
+    return dbPilots::verifyPilotExists(pilotName.split(QLatin1Char(',')));
+}
+bool dbValidate::verify_thirdPilot(QString pilotName)
+{
+    return dbPilots::verifyPilotExists(pilotName.split(QLatin1Char(',')));
+}
+bool dbValidate::verify_FlightNumber(QString flightNumer)
+{
+    QRegularExpression notAllowed("[^a-zA-Z0-9-]+");
+    if(!flightNumer.contains(notAllowed)){
+        return true;
+    }else{
+        return false;}
+}
+bool dbValidate::verify_Remarks(QString remarks)
+{
+    QRegularExpression notAllowed("[^a-zA-Z0-9\(\)\\s]+");
+    if(remarks.length() < 20 && !remarks.contains(notAllowed)){
+        return true;
+    }else{
+        return false;}
+}

+ 37 - 33
dbvalidate.h

@@ -18,10 +18,12 @@
 #ifndef DBVALIDATE_H
 #define DBVALIDATE_H
 #include <QCoreApplication>
+#include <QRegularExpression>
 
 /*!
  * \brief The dbValidate class provides functions providing validation functionality
- * for data entries. All return types are boolean (true = valid, false = invalid)
+ * for data entries. All return types are boolean (true = valid, false = invalid) and
+ * all input types are QString.
  */
 class dbValidate
 {
@@ -29,40 +31,42 @@ public:
 
     bool isValid;
 
-    dbValidate();
+    //dbValidate();
 
-    dbValidate(QString table, QString field, QString value);
+    //dbValidate(QString table, QString field, QString value);
 
-    bool verify_id(QString);
-    bool verify_doft(QString);
-    bool verify_dept(QString);
-    bool verify_dest(QString);
-    bool verify_tofb(QString);
-    bool verify_tonb(QString);
-    bool verify_pic(QString);
-    bool verify_acft(QString);
-    bool verify_tblk(QString);
-    bool verify_tSPSE(QString);
-    bool verify_tSPME(QString);
-    bool verify_tMP(QString);
-    bool verify_tNIGHT(QString);
-    bool verify_tIFR(QString);
-    bool verify_tPIC(QString);
-    bool verify_tPICUS(QString);
-    bool verify_tSIC(QString);
-    bool verify_tDual(QString);
-    bool verify_tFI(QString);
-    bool verify_tSIM(QString);
-    bool verify_pilotFlying(QString);
-    bool verify_toDay(QString);
-    bool verify_toNight(QString);
-    bool verify_ldgDay(QString);
-    bool verify_ldgNight(QString);
-    bool verify_autoland(QString);
-    bool verify_secondPilot(QString);
-    bool verify_thirdPilot(QString);
-    bool verify_FlightNumber(QString);
-    bool verify_Remarks(QString);
+
+    static bool verify_id(QString);
+    static bool verify_doft(QString);
+    static bool verify_dept(QString);
+    static bool verify_dest(QString);
+    static bool verify_tofb(QString);
+    static bool verify_tonb(QString);
+    static bool verify_pic(QString);
+    static bool verify_acft(QString);
+    static bool verify_tblk(QString);
+    static bool verify_tSPSE(QString);
+    static bool verify_tSPME(QString);
+    static bool verify_tMP(QString);
+    static bool verify_tNIGHT(QString);
+    static bool verify_tIFR(QString);
+    static bool verify_tPIC(QString);
+    static bool verify_tPICUS(QString);
+    static bool verify_tSIC(QString);
+    static bool verify_tDual(QString);
+    static bool verify_tFI(QString);
+    static bool verify_tSIM(QString);
+    static bool verify_pilotFlying(QString);
+    static bool verify_toDay(QString);
+    static bool verify_toNight(QString);
+    static bool verify_ldgDay(QString);
+    static bool verify_ldgNight(QString);
+    static bool verify_autoland(QString);
+    static bool verify_secondPilot(QString);
+    static bool verify_thirdPilot(QString);
+    static bool verify_FlightNumber(QString);
+    static bool verify_Remarks(QString);
+    static bool verify_time(QString time);
 };
 
 #endif // DBVALIDATE_H