我是meteor框架的新手,我正在构建一个需要在客户端使用正则表达式验证字段的表单。
schema.js
PRODUCT_BUILD:{
type:String,
label:' PRODUCT_BUILD',
defaultValue:"PRODUCT:latest",
regEx: /^(PRODUCT)((\/(([0-9]+\.)+[0-9]+))|(\:(latest)))/
},
我已将信息写为
SimpleSchema.messages({
'regEx PRODUCT_BUILD': "Can have eg: PRODUCT/10.X.X.1234 or PRODUCT:latest",
});
的test.html
{{> afQuickField name='PRODUCT_BUILD'}}
我已输入正则表达式所需的所有字段,但是当我输入无效输入时,它不会检查正则表达式以及错误消息。
谁能告诉我我能做些什么来纠正它?
答案 0 :(得分:0)
至于我记得,简单架构消息的处理方式已在最近的simple-schema / autoform版本中进行了更改。
理想情况下,它曾经是这样的(我不确定它是否适用于您的版本):
SimpleSchema.messages({
"regEx PRODUCT_BUILD": [
{ msg: "Can have eg: PRODUCT/10.X.X.1234 or PRODUCT:latest" }
]
});
使用自定义字段验证的替代方法如下:
PRODUCT_BUILD:{
type:String,
label:' PRODUCT_BUILD',
defaultValue:"PRODUCT:latest",
custom: function(){
if(this.value){
// do the regex validation using normal JS
//if validation fails,
return "regexError"
}
}
},
SimpleSchema.messages({
"regexError": "Can have eg: PRODUCT/10.X.X.1234 or PRODUCT:latest"
});