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

标签 javascript validation ember.js

这是我使用 ember 验证 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,我会收到相同的错误消息。所以我想在消息为空时收到一条单独的消息,如果长度最小则收到另一条消息。如何将空和长度验证为单独的消息。

最佳答案

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

If true skips validation if value is empty

您的验证应如下所示:

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

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

关于javascript - 如何验证 ember.js 中的空文本框和最小长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25441967/

相关文章:

javascript - 如何进行 jQuery 验证以仅允许表单中包含英文和日文字符

javascript - Ember : No model was found for 'user' and Duplicate POSTs created when executing the save promise

javascript - 删除数组分隔符

javascript - 如何绑定(bind) Angular4 组件的输入参数

JavaScript-将数组缓冲区转换为字符串

javascript - 为什么 VelocityJS 动画元素只改变不透明度?

ruby-on-rails - 哪个更适合用于 Rails 模型验证 : Proc or lambda?

jsf - 在验证器属性中找不到 EL 函数

javascript - Ember.js 需要有关简单 Todo 示例的集合处理程序的帮助

javascript - 返回异步 EmberJS 路由的 Promise 字典