流星自动表单自定义验证不响应
meteor autoform custom validation not reactive
我试图使用自定义验证函数在simpleSchema中定义的字段,但是错误消息不呈现在字段上。
num: {
type: Number,
label: "Number",
min: 1,
decimal: false, // unnecessary as this is default for Number, but for future reference
autoform: {
group: "Info",
defaultValue: function() {
//@TODO - default to next number for logged in user
return 5;
}
},
custom: function () {
Collection.simpleSchema().namedContext("addNumberForm").addInvalidKeys([{name: "num", type: "numNotUnique"}]);
}
},
我已经为它定义了一个自定义的错误消息
SimpleSchema.messages({numNotUnique: "This number has already been entered"});
当我提交表单时,我可以确认执行了自定义函数,但是UI中指示错误的字段没有任何变化。上下文名称"addNumberForm"我从SimpleSchema.debug = true;
设置中获得,并查看其他字段抛出的默认验证。
我在这里错过了什么?
经过反复试验,我终于弄明白了。
simpleSchema命名上下文仅在使用simpleSchema本身进行手动验证时才需要。Autoform负责处理这个问题,自定义函数可以返回一个简单的字符串来定义错误。
num: {
type: Number,
label: "Number",
min: 1,
decimal: false, // unnecessary as this is default for Number, but for future reference
autoform: {
group: "Info",
defaultValue: function() {
//@TODO - default to next number for logged in user
return 5;
}
},
custom: function () {
// some check
return 'numNotUnique'; // return our error
}
},
相关文章:
- Jquery的表单验证不起作用
- Javascript文本框验证不起作用
- 外部JavaScript验证不起作用
- Angular Form Wide验证(不特定于字段)
- javascript文本验证不起作用.警报消息没有't显示
- 基于类的单击事件在10行之后不响应-数据表
- 我的角度形式输入[数字]验证不起作用
- 时间字段上的JavaScript验证(不接受0:00格式)
- 使用JavaScript进行即时验证-不确定从哪里开始
- Javascript电子邮件验证不起作用
- 基本node.js express身份验证不起作用
- 使用 Ajax 调用进行验证不起作用
- 使用 Google OAuth 2.0 进行客户端身份验证不起作用
- 提交时 JavaScript 验证不起作用
- 表单验证不起作用,并阻止表单提交
- Struts2 Ajax 验证不起作用
- 电子邮件验证不接受仅包含两个字符的域
- 提交时AngularJS中的表单验证不起作用
- 流星自动表单自定义验证不响应
- Ajax 验证不是空页的响应数据