ember-changeset-validations 没有按预期使用布尔值
ember-changeset-validations not working as expected with a boolean
我有一个 Ember 对象,它有一个布尔字段作为属性,我想用 ember-changeset-validations 验证它。
这是典型的 "Agree to terms" 复选框。
这是 hbs 代码:
{{one-way-checkbox changeset.agree_terms
class="form-control"
update=(action (mut changeset.agree_terms))}}
{{#each changeset.error.agree_terms.validation as |error|}}
<span class="text-danger help-block m-l-3">{{t (concat 'bookings.error.' error)}}</span>
{{/each}}
我有一个验证文件,其中这个 member 变更集的特定验证是:
agree_terms: validateFormat({
regex: /^(true)$/,
message: 'You need to agree on Terms!'
})
事实是,出于某种原因,这从未正确验证为 TRUE,我总是收到错误消息...知道我在这里做错了什么吗?
这有点棘手;但我想通了。 ember-change-set-validations do make use of ember-validators underneath. Since; you are using validateFormat
; the following code 最后是 运行。如果您查看我提供的 link;有一个检查 !canInvoke(value, 'match')
导致你的问题。由于复选框的选中值是布尔值,并且您不能对布尔值调用 match
,因此您总是会得到无效的验证。
你能做什么?出色地;我不是 ember-change-set-validations
和 ember-validators
方面的专家,但编写自定义验证器非常容易。这就是我在下面twiddle中所做的。它似乎工作得很好。
我的理解是;将布尔值与 format
类型验证器一起使用不是一个好主意(它显然不起作用);我只希望它被记录下来。希望对你有帮助。
我有一个 Ember 对象,它有一个布尔字段作为属性,我想用 ember-changeset-validations 验证它。
这是典型的 "Agree to terms" 复选框。
这是 hbs 代码:
{{one-way-checkbox changeset.agree_terms
class="form-control"
update=(action (mut changeset.agree_terms))}}
{{#each changeset.error.agree_terms.validation as |error|}}
<span class="text-danger help-block m-l-3">{{t (concat 'bookings.error.' error)}}</span>
{{/each}}
我有一个验证文件,其中这个 member 变更集的特定验证是:
agree_terms: validateFormat({
regex: /^(true)$/,
message: 'You need to agree on Terms!'
})
事实是,出于某种原因,这从未正确验证为 TRUE,我总是收到错误消息...知道我在这里做错了什么吗?
这有点棘手;但我想通了。 ember-change-set-validations do make use of ember-validators underneath. Since; you are using validateFormat
; the following code 最后是 运行。如果您查看我提供的 link;有一个检查 !canInvoke(value, 'match')
导致你的问题。由于复选框的选中值是布尔值,并且您不能对布尔值调用 match
,因此您总是会得到无效的验证。
你能做什么?出色地;我不是 ember-change-set-validations
和 ember-validators
方面的专家,但编写自定义验证器非常容易。这就是我在下面twiddle中所做的。它似乎工作得很好。
我的理解是;将布尔值与 format
类型验证器一起使用不是一个好主意(它显然不起作用);我只希望它被记录下来。希望对你有帮助。