Mercurial > hg > syntilista
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();