|
#include "validator.h"
|
|
#include "validatorfactory.h"
|
|
using namespace CuteEntityManager;
|
|
Validator::Validator() : QObject() {
|
|
ValidatorFactory::registerClasses();
|
|
}
|
|
|
|
Validator::~Validator() {
|
|
}
|
|
|
|
const QHash<QString, QString> Validator::builtInValidators() {
|
|
QHash<QString, QString> hash = QHash<QString, QString>();
|
|
hash.insert("compare", "CuteEntityManager::CompareValidator");
|
|
hash.insert("default", "CuteEntityManager::DefaultValidator");
|
|
hash.insert("email", "CuteEntityManager::EmailValidator");
|
|
hash.insert("exists", "CuteEntityManager::ExistValidator");
|
|
hash.insert("file", "CuteEntityManager::FileValidator");
|
|
hash.insert("image", "CuteEntityManager::ImageValidator");
|
|
hash.insert("number", "CuteEntityManager::NumberValidator");
|
|
hash.insert("date", "CuteEntityManager::DateValidator");
|
|
hash.insert("required", "CuteEntityManager::RequiredValidator");
|
|
hash.insert("unique", "CuteEntityManager::UniqueValidator");
|
|
hash.insert("url", "CuteEntityManager::UrlValidator");
|
|
hash.insert("pattern", "CuteEntityManager::PatternValidator");
|
|
hash.insert("length", "CuteEntityManager::LengthValidator");
|
|
return hash;
|
|
}
|
|
|
|
QList<ErrorMsg> Validator::validate(QVariant value, QList<Param> params) const {
|
|
QList<ErrorMsg> msgs = QList<ErrorMsg>();
|
|
if (params.isEmpty()) {
|
|
params.append(Param(""));
|
|
}
|
|
for (int i = 0; i < params.size(); ++i) {
|
|
ErrorMsg msg = this->validateParam(value, params.at(i));
|
|
if (!msg.getErrorMsg().isEmpty()) {
|
|
msgs.append(msg);
|
|
}
|
|
}
|
|
return msgs;
|
|
}
|
|
|
|
QString Validator::generateErrorMsg(ErrorMsg msg) {
|
|
if (msg.getPropertyName().isEmpty()) {
|
|
//return tr(msg.getErrorMsg());
|
|
return msg.getErrorMsg();
|
|
}
|
|
//return tr(msg.getErrorMsg()).replace("<property>", msg.getPropertyName());
|
|
return msg.getErrorMsg().replace("<property>", msg.getPropertyName());
|
|
}
|