2017-07-07 15 views
1

次の例を考えてみます。 enumというプロパティを持つオブジェクトがあるとします。 enumプロパティの値が5の場合、フィールドvalueは、enumsuperのオブジェクトのプロパティがupおよびdownである必要がある場合は、フィールドと一致する必要があります。したがって、jsコードは次のようになります。ループバックでモデル全体の検証を実行するにはどうすればよいですか?

if (obj.enum === 5) { 
    if (obj.value != 5) { 
     //error here 
    } 
} 

if (obj.enum === 'super') { 
    if (obj.up === undefined || obj.down === undefined) { 
     //error here 
    } 
} 

このコードをloopbackjsに組み込む方法???

など。このであり、フィールドの検証ではありません(カスタムかどうか)。です。したがって、isValid funciton(下記参照)およびvalidateメソッドは使用できません。 validateの1つのプロパティのみを検証します。

  1. Hereは非常に似て質問ですが、それはcustiom プロパティ検証になってしまいました。
  2. Hereは、にisValidファンクションの例です。この唯一の検証を呼び出すことは、エラーを追加したり、追加の検証を追加する方法がないことに注意してください。
+0

ここで検索しましたか? http://loopback.io/doc/en/lb3/Validating-model-data.htmlそして、どこでどのようにエラーコードを取得したいのですか? – olegst

+0

私はここで数回見ました:)そして、ループバックメカニズムを介して、どのようにしてエラーコードを取得したいのですか?私は動的エラーコードをどう管理するのか分かりません。 :( – Cherry

答えて

0

thisを回避策として使用してください。常に現在のフィールドの1つをvalidateメソッドに渡し、カスタムエラーコードとメッセージをcustomValidator関数内に追加します。

関連する問題