validation - ember-cp-validations - 如何在提交前没有失去焦点的情况下显示错误消息?
问题描述
使用ember-cp-validations通常涉及在相应的表单元素失去焦点时验证每个属性。如果验证失败,则会显示错误消息。
<div class="form-group">
<label class="control-label">Name</label>
<div class="">
{{ input type="text"
value=item.name
class="form-control"
placeholder="The name of the Guest"
focus-out=(action (mut nameError) true)
}}
</div>
{{#if nameError}}
<div class="text-danger">
{{v-get item 'name' 'message'}}
</div>
{{/if}}
</div>
这是在线演示(https://embermap.com/video/ember-cp-validations)中演示的方法,但是如果用户输入表单并立即点击提交表单的按钮,则永远不会显示消息(因为焦点输出永远不会触发)。
演示的方法使用从 validate() 返回的对象,这很好,但在这种情况下,我想要一种方法来触发所有表单元素的验证,以便显示错误消息(放在“调用所有验证.. .”如下所示)。
export default Component.extend({
actions:{
buttonClicked(theguest) {
theguest.validate()
.then(({ validations }) => {
if(validations.get('isValid'))
{
this.sendAction('action', theguest);
}
else
{
//Invoke all validations in order that
//any which fail validation will show
//their error message
}
})
}
}
});
这样做的好方法是什么?谢谢你。
解决方案
推荐阅读
- c++ - MacPorts:“错误:clang-4.0 已被 clang-8.0 替换;请安装它”但我已经安装了 clang-8.0
- jquery - jQuery:单击在下拉菜单选项上不起作用
- neo4j - 来自 GraphQL Mutation 的响应未按预期工作
- python - 从嵌套字典中获取具有最大值的键
- python - 使用 Python 将字符串(2019 年 6 月 6 日上午 9:29:29)转换为日期时间(YMD H:M:S) -
- wordpress - 无法使用虚拟主机访问 wp-admin
- python-3.x - 为什么我在第一行出现语法错误?
- msbuild - 如何将 NuGet contentFiles 提取到特定目录?
- typescript - 由于 google-cloud 包中的问题,TSC 构建失败,
- java - 如何为 Google Cloud API 生成访问令牌?