如何在ember.js中验证空文本框和最小长度

时间:2014-08-22 07:42:45

标签: javascript validation ember.js

这是我使用ember validation mixin进行名称验证的代码

   App.Data= Ember.Object.extend(Ember.Validations.Mixin, {
        validations: {
            name: {

               length: {
                    minimum: 5,
                    maximum: 15,
                    message: "name is too short"
                },
               presence: true,
                presence: {
                    message: "name can't be blank"
                }
    });

这很好。但它同时验证了两者。如果文本框为空,则显示名称太短的消息名称不能为空。如果长度为最小5,则会收到相同的错误消息。所以我想得到一个单独的消息,如果它是空的,另一个消息,如果长度是最小的。如何验证空和长度作为单独的。

1 个答案:

答案 0 :(得分:2)

根据documentation,您可以使用allowBlank长度验证选项:

  

如果true为空,则跳过验证

您的验证应如下所示:

...
length: {
    minimum: 5,
    maximum: 15,
    allowBlank: true,
    message: "name is too short"
},
presence: true,
presence: {
    message: "name can't be blank"
}
...

现在它应该跳过长度验证,如果它是空白的。