2017-11-14 6 views
0

私はmeteorフレームワークには新しく、私はクライアント側で正規表現を使ってフィールドの検証を必要とするフォームを構築しています。
クライアント側の流星のオートフォームで正規表現を使ってフィールドの入力値を検証する方法は?

schema.js

PRODUCT_BUILD:{ 
    type:String, 
    label:' PRODUCT_BUILD', 
    defaultValue:"PRODUCT:latest", 
    regEx: /^(PRODUCT)((\/(([0-9]+\.)+[0-9]+))|(\:(latest)))/ 
    }, 

Iは

SimpleSchema.messages({ 
'regEx PRODUCT_BUILD': "Can have eg: PRODUCT/10.X.X.1234 or PRODUCT:latest", 
}); 

test.htmlという私は肝炎

{{> afQuickField name='PRODUCT_BUILD'}} 

としてメッセージを書かれていますe正規表現が必要とするすべてのフィールドを入力しましたが、無効な入力を与えると正規表現とエラーメッセージをチェックしません。
私はそれを修正するために何ができるのか教えていただけますか?

答えて

0

シンプルなスキーマメッセージの処理方法は、シンプルスキーマ/自動フォームの最近のバージョンで変更されています。

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" 

}); 
関連する問題