changeset 121:404d567edaab

Validate the length of extra info field in the add/edit person dialog.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 06 Jul 2017 10:53:07 +0300
parents 2ff2ad720474
children f0db8267911b
files src/main.cpp src/main.h
diffstat 2 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/main.cpp	Thu Jul 06 08:39:48 2017 +0300
+++ b/src/main.cpp	Thu Jul 06 10:53:07 2017 +0300
@@ -1095,6 +1095,12 @@
     ui->edit_FirstName->setMaxLength(SQL_MAX_FIRST_NAME);
     ui->edit_LastName->setMaxLength(SQL_MAX_LAST_NAME);
 
+    connect(
+        ui->textedit_ExtraInfo,
+        SIGNAL(textChanged()),
+        this,
+        SLOT(on_textedit_ExtraInfo_textChanged()));
+
     validateForm();
 }
 
@@ -1117,11 +1123,13 @@
     selPerson.firstName = slCleanupStr(ui->edit_FirstName->text());
     selPerson.lastName = slCleanupStr(ui->edit_LastName->text());
     selPerson.extraInfo = ui->textedit_ExtraInfo->document()->toPlainText();
+    bool extraInfoValid = selPerson.extraInfo.length() < SQL_MAX_EXTRA_INFO;
 
+    ui->textedit_ExtraInfo->setStyleSheet(!extraInfoValid ? "background-color: red;" : NULL);
     ui->edit_FirstName->setStyleSheet(selPerson.firstName == "" ? "background-color: red;" : NULL);
     ui->edit_LastName->setStyleSheet(selPerson.lastName == "" ? "background-color: red;" : NULL);
 
-    return selPerson.firstName != "" && selPerson.lastName != "";
+    return selPerson.firstName != "" && selPerson.lastName != "" && extraInfoValid;
 }
 
 
@@ -1137,7 +1145,7 @@
     {
         slErrorMsg(
             tr("Virhe!"),
-            tr("Vaaditut kentät (etunimi, sukunimi) eivät ole täytetty."));
+            tr("Vaaditut kentät (etunimi, sukunimi) eivät ole täytetty tai lisätietojen pituus on liian suuri."));
 
         return;
     }
@@ -1225,6 +1233,12 @@
 }
 
 
+void EditPerson::on_textedit_ExtraInfo_textChanged()
+{
+    validateForm();
+}
+
+
 void EditPerson::clearForm()
 {
     ui->edit_FirstName->clear();
--- a/src/main.h	Thu Jul 06 08:39:48 2017 +0300
+++ b/src/main.h	Thu Jul 06 10:53:07 2017 +0300
@@ -209,6 +209,8 @@
 
     void on_edit_LastName_textChanged(const QString &arg1);
 
+    void on_textedit_ExtraInfo_textChanged();
+
 private:
     Ui::EditPerson *ui;