Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e111d9ab

Von Christian Ehringfeld vor mehr als 8 Jahren hinzugefügt

  • ID e111d9ab43c5ef744f36053450538f37a6fb17f3
  • Vorgänger 8f217691
  • Nachfolger 51bbd62c

validators

Unterschiede anzeigen:

EntityManager.pro
src/validators/errormsg.h \
src/validators/defaultvalidator.h \
src/validators/validatorfactory.h \
src/validators/validatorrule.h
src/validators/validatorrule.h \
src/validators/requiredvalidator.h \
src/validators/numbervalidator.h
SOURCES += \
src/entity.cpp \
......
src/validators/errormsg.cpp \
src/validators/defaultvalidator.cpp \
src/validators/validatorfactory.cpp \
src/validators/validatorrule.cpp
src/validators/validatorrule.cpp \
src/validators/requiredvalidator.cpp \
src/validators/numbervalidator.cpp
CONFIG += c++14
QMAKE_CXXFLAGS += -std=c++14
samples/example/main.cpp
qWarning() << "-----------------------------";
qWarning() << "Merge Pupil";
qWarning() << "-----------------------------";
list.at(i)->setBirthday(QDate(2222,12,22));
list.at(i)->setBirthday(QDate(2222, 12, 22));
QSharedPointer<Entity> pupilE = list.at(i).objectCast<Entity>();
e->merge(pupilE,true);
e->merge(pupilE, true);
qWarning() << list.at(i)->toString();
}
qWarning() << "-----------------------------";
......
qWarning() << "-----------------------------";
qWarning() << "Remove Group";
qWarning() << "-----------------------------";
//e->remove(entityGroupFindPtr);
e->remove(entityGroupFindPtr);
sqliteproc->sqliteDBMemFile(true, "db.sqlite");
qWarning() << "Duration:" << t.elapsed();
src/entitymanager.cpp
} else if (r.getType() == RelationType::ONE_TO_ONE
&& !r.getMappedBy().isEmpty()) {
auto e = EntityInstanceFactory::castQVariant(var);
this->save(e, true, false);
this->save(e, true, false);
auto fkProp = EntityHelper::mappedProperty(r, e);
if (fkProp.isValid()) {
EntityHelper::addEntityToListProperty(e, entity, fkProp);
......
rc = true;
}
}
entity->idChanged();
return rc;
}
src/validators/defaultvalidator.cpp
#include "defaultvalidator.h"
#include "validator.h"
using namespace CuteEntityManager;
DefaultValidator::DefaultValidator() : Validator() {
}
src/validators/defaultvalidator.h
#define DEFAULTVALIDATOR_H
#include "validator.h"
namespace CuteEntityManager {
class ErrorMsg;
class DefaultValidator : public Validator {
Q_OBJECT
public:
src/validators/errormsg.h
#include <QString>
namespace CuteEntityManager {
class ErrorMsg {
public:
public:
ErrorMsg();
~ErrorMsg();
ErrorMsg(QString param, QString errorMsg, QString propertyName = "");
......
QString getErrorMsg() const;
void setErrorMsg(const QString &value);
private:
private:
QString param;
QString propertyName;
QString errorMsg;
src/validators/numbervalidator.cpp
#include "numbervalidator.h"
using namespace CuteEntityManager;
NumberValidator::NumberValidator() : Validator() {
}
ErrorMsg NumberValidator::validateParam(QVariant value, Param param) const {
bool convert;
double converted = value.toDouble(&convert);
if (!convert) {
return ErrorMsg(param.getName(), "Value could not converted.");
}
if (param.getName() == "min" && param.getValue().toDouble() > converted) {
return ErrorMsg(param.getName(),
"Value must be no less than " + QString::number(param.getValue().toDouble()) +
".");
} else if (param.getName() == "max"
&& param.getValue().toDouble() < converted) {
return ErrorMsg(param.getName(),
"Value must be not greater than " + QString::number(param.getValue().toDouble())
+ ".");
}
return ErrorMsg();
}
src/validators/numbervalidator.h
#ifndef NUMBERVALIDATOR_H
#define NUMBERVALIDATOR_H
#include "validator.h"
namespace CuteEntityManager {
class NumberValidator : public Validator {
Q_OBJECT
public:
NumberValidator();
ErrorMsg validateParam(QVariant value, Param param) const final override;
};
}
#endif // NUMBERVALIDATOR_H
src/validators/requiredvalidator.cpp
#include "requiredvalidator.h"
using namespace CuteEntityManager;
RequiredValidator::RequiredValidator(): Validator() {
}
ErrorMsg RequiredValidator::validateParam(QVariant value, Param param) const {
if (value.isNull()) {
return ErrorMsg(param.getName(), "Value is not set");
}
return ErrorMsg();
}
src/validators/requiredvalidator.h
#ifndef REQUIREDVALIDATOR_H
#define REQUIREDVALIDATOR_H
#include "validator.h"
namespace CuteEntityManager {
class RequiredValidator : public Validator {
Q_OBJECT
public:
RequiredValidator();
ErrorMsg validateParam(QVariant value, Param param) const final override;
};
}
#endif // REQUIREDVALIDATOR_H
src/validators/validator.cpp
// hash.insert("size", "SizeValidator");
// hash.insert("number", "NumberValidator");
// hash.insert("date", "DateValidator");
// hash.insert("required", "RequiredValidator");
hash.insert("required", "RequiredValidator");
// hash.insert("unique", "UniqueValidator");
// hash.insert("url", "UrlValidator");
return hash;
src/validators/validatorfactory.cpp
#include "validatorfactory.h"
#include "defaultvalidator.h"
#include "requiredvalidator.h"
#include "numbervalidator.h"
using namespace CuteEntityManager;
ValidatorFactory::ValidatorFactory() {
......
void ValidatorFactory::registerClasses() {
if (ValidatorFactory::instance.isEmpty()) {
// Validator::registerClass<CompareValidator>();
// ValidatorFactory::registerClass<CompareValidator>();
ValidatorFactory::registerClass<DefaultValidator>();
// Validator::registerClass<EmailValidator>();
// Validator::registerClass<ExistValidator>();
// Validator::registerClass<ImageValidator>();
// Validator::registerClass<SizeValidator>();
// Validator::registerClass<NumberValidator>();
// Validator::registerClass<DateValidator>();
// Validator::registerClass<RequiredValidator>();
// Validator::registerClass<UniqueValidator>();
// Validator::registerClass<UrlValidator>();
// ValidatorFactory::registerClass<EmailValidator>();
// ValidatorFactory::registerClass<ExistValidator>();
// ValidatorFactory::registerClass<ImageValidator>();
// ValidatorFactory::registerClass<SizeValidator>();
ValidatorFactory::registerClass<NumberValidator>();
// ValidatorFactory::registerClass<DateValidator>();
ValidatorFactory::registerClass<RequiredValidator>();
// ValidatorFactory::registerClass<UniqueValidator>();
// ValidatorFactory::registerClass<UrlValidator>();
}
}
src/validators/validatorrule.h
explicit ValidationRule(QString validatorName, QStringList attributeNames,
QString paramName1, QVariant paramValue1, QString paramName2,
QVariant paramValue2);
~ValidationRule();
QString getValidatorName() const;
void setValidatorName(const QString &value);

Auch abrufbar als: Unified diff