簡體   English   中英

如何在客戶端流星中使用自動格式化中的正則表達式來驗證字段的輸入值?

[英]How to validate a field's input value using regular expression in autoform in meteor on client side?

我是流星框架的新手,我正在構建一個需要在客戶端使用正則表達式驗證字段的表單。

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'}}

我已經輸入了正則表達式需要的所有字段,但是當我輸入無效的輸入時,它不會同時檢查正則表達式和錯誤消息。
誰能告訴我我可以做些什么來糾正它?

就我所記得的而言,在最近版本的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" 

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM