Adds support for ember-i18n in ember-cp-validations
Using ember-intl? See: jasonmit/ember-intl-cp-validations
ember install ember-i18n-cp-validations
app/validators/messages.js
you'll want to change the import reference from: ember-cp-validations/validators/messages
to ember-i18n-cp-validations/validators/message
Implement the following validation messages across your translations:
// app/locales/en/translations.js
export default {
errors: {
description: "This field",
inclusion: "{{description}} is not included in the list",
exclusion: "{{description}} is reserved",
invalid: "{{description}} is invalid",
confirmation: "{{description}} doesn't match {{on}}",
accepted: "{{description}} must be accepted",
empty: "{{description}} can't be empty",
blank: "{{description}} can't be blank",
present: "{{description}} must be blank",
collection: "{{description}} must be a collection",
singular: "{{description}} can't be a collection",
tooLong: "{{description}} is too long (maximum is {{max}} characters)",
tooShort: "{{description}} is too short (minimum is {{min}} characters)",
before: "{{description}} must be before {{before}}",
after: "{{description}} must be after {{after}}",
wrongDateFormat: "{{description}} must be in the format of {{format}}",
wrongLength: "{{description}} is the wrong length (should be {{is}} characters)",
notANumber: "{{description}} must be a number",
notAnInteger: "{{description}} must be an integer",
greaterThan: "{{description}} must be greater than {{gt}}",
greaterThanOrEqualTo: "{{description}} must be greater than or equal to {{gte}}",
equalTo: "{{description}} must be equal to {{is}}",
lessThan: "{{description}} must be less than {{lt}}",
lessThanOrEqualTo: "{{description}} must be less than or equal to {{lte}}",
otherThan: "{{description}} must be other than {{value}}",
odd: "{{description}} must be odd",
even: "{{description}} must be even",
positive: "{{description}} must be positive",
date: "{{description}} must be a valid date",
onOrAfter: '{{description}} must be on or after {{onOrAfter}}',
onOrBefore: '{{description}} must be on or before {{onOrBefore}}',
email: "{{description}} must be a valid email address",
phone: "{{description}} must be a valid phone number",
url: "{{description}} must be a valid url"
}
};
To change the errors prefix key from errors
to any other key, such as validationErrors
you simply add the following to app/validators/messages.js
. Now just amend your translation files to be nested under the validationErrors
object instead of errors
.
// app/validators/messages.js
import ValidatorsMessages from 'ember-i18n-cp-validations/validators/messages';
export default ValidatorsMessages.extend({
prefix: 'validationErrors'
});
To translate the description of a Validator specify the descriptionKey
to match a key in your translations.
// app/models/user.js
import { validator, buildValidations } from 'ember-cp-validations';
const Validations = buildValidations({
username: validator('presence', {
presence: true,
descriptionKey: 'key.for.username'
})
});
// app/locales/en/translations.js
export default {
key: {
for: {
username: 'Username'
}
}
}
// app/locales/sv/translations.js
export default {
key: {
for: {
username: 'Användarnamn'
}
}
}
By default, translations will be resolved to validatorPrefix.validatorType
. If you need to override this functionality entirely and specify your own message key, you can do so with messageKey
on the validator object.
// app/models/user.js
import { validator, buildValidations } from 'ember-cp-validations';
const Validations = buildValidations({
username: validator('presence', {
presence: true,
messageKey: 'username.missing'
})
});
Passing attributes into your translation is supported.
Similar to passing attributes via through to the t
method: i.e., i18n.t('errors.blank', { placeholder: i18n.t('age') })
you can also do this with your validator definition.
validator('presence', {
presence: true,
placeholder: Ember.computed('model.age', 'model.i18n.locale', {
// inject i18n into your model, optional..
return get(model, 'i18n').t('age');
})
})
errors: {
blank: '{{placeholder}} cannot be blank!'
}
To suppress console warnings for missing translations, you can do so by setting i18n.suppressWarnings
in config/environment
;
// config/environment.js
module.exports = function(environment) {
const ENV = {};
if (environment === 'test') {
ENV.i18n = ENV.i18n || {};
ENV.i18n.suppressWarnings = true;
}
return ENV;
}
Please open a GitHub an issue.
ember server
ember test
ember test --server
ember build
For more information on using ember-cli, visit http://www.ember-cli.com/.
Ember CP Validations An EmberJS validation framework that is completely and utterly computed property based. Features No observers were used nor harmed while developing and testing this addon. Lazily
cp 用法 Usage: docker cp [OPTIONS] CONTAINER:PATH HOSTDIR|- Copy files/folders from a PATH on the container to a HOSTDIR on the host running the command. Use '-' to write the data as a tar file to STDO
关于cp-class C语言实现的一个解析JAVA class字节码的库。 编译 进入项目根目录/cp-class 新建build目录。mkdir build 在build目录下执行CMAKE编译命令:cmake .. 然后在继续执行命令:make 项目即编译完成。 cp-class的静态库就生成了:"cp-class/build/src/cp_class" 示例 当完成上面的编译工作后,项目自带
CP Editor 是一个基于 Qt 的轻量级跨平台代码编辑器,专为算法竞赛设计。 它可以让你刷题/打比赛更加轻松 因为它自动化了很多算法竞赛中的流程。 开始使用 发行版 (Gitee 镜像) 安装 开始使用 设置 使用提示 做出贡献 提 issue 贡献指南 适合新手解决的 issues 需要帮助的 issues 获取帮助 首先,阅读文档. 阅读更新日志来获知是否添加了某一功能 / 修复了某一
Hikari CP版本:2.7.4 这实际上不是一个问题,而是一些疑问。a) maxLifetime:30分钟后退出连接。它是否也会在终止时自动创建新连接,或者等待新请求,然后创建新连接?考虑到池的空闲时间超过minIdle。 b)idle time out:10分钟不活动后会掉线?但是10分钟太长了。如果我将它标记为10s(从代码中可以看出,10是最小值)可以吗?否则,总会有比最小连接数高的连接
问题内容: 民间, 之前,我只有一个jar文件,并且设置了清单,以便可以简单地以以下方式运行程序: 现在,我将功能分为两个jar文件-MyCore.jar和MyApp.jar。 以下命令有效: 但是我不能让以下工作 我收到ClassNotFoundException。 我更喜欢使用“ -jar”开关。有办法使它起作用吗? 预先感谢您的帮助。 问候, 彼得 问题答案: 我有一个这样的Manifest