如果不是空字符串,则节点js orm强制执行验证

时间:2014-08-26 08:52:42

标签: node.js validation orm

如果非必填字段不是空字符串,我该如何进行验证?

我的模特:

var Customer = db.define('Customer', {
    name       : { type: "text", unique: true, required: true },
    adress     : { type: "text" },
    zipcode    : { type: "text" },
    city       : { type: "text" },
    country    : { type: "text" },
    siret      : { type: "text" },
    phone      : { type: "text" },
    fax        : { type: "text" },
    email      : { type: "text" },
    website    : { type: "text" },
    active     : { type: 'integer', required: true },
    createdAt  : { type: 'date', required: true, time: true }
}, {
    hooks: {
        beforeValidation: function () {
            this.createdAt = new Date();
            this.active    = 1;
        }
    },
    methods: {
        fullCity: function () {
            return this.zipcode + ' ' + this.city;
        }
    },
    validations: {
        name: [
            orm.enforce.notEmptyString("Not empty string"),
            orm.enforce.unique("Already exists")
        ],
        siret: orm.enforce.ranges.length(15, 15, "Must contain 15 characters"),
        email: orm.enforce.patterns.email("Not valid email")
    }
});

即使它是一个空字符串(字段siret和email),也会进行验证。 我知道如果值为null或未定义,则可以正常工作,但我希望对空字符串执行相同操作。

欢迎任何想法。

感谢。

0 个答案:

没有答案