0
私は2つの役割を持ち、着信データのロールフィールドに基づいて受信ポスト要求に異なるデータ検証規則を適用したいとします。投稿されたロールが管理者の場合は、入力に名前フィールドがあるかどうかを検証し、ロールがユーザーの場合は、入力に年齢があるかどうかを検証します。名前が入力に存在しない場合の役割は、管理、検証作品やキャッチされた場合、最初の要求のためにロールベースの検証がループバックで機能していない
if (role === "admin") {
Members.validatesPresenceOf('name');
next();
} else {
Members.validatesPresenceOf('age');
next();
}
:私のようなメソッドを作成するのbeforeRemoteフックで検証コードを書きました。しかし、roleがuserの次の要求に対しては、nameフィールドではまだ有効ではありません。その後、ノードサーバーを再起動して最初にユーザーの役割を試してみると、年齢の検証が行われますが、その後のすべての要求に対して、年齢の検証は役割に関係なくチェックされます。何が問題なの?これを達成するための他の方法があれば、教えてください。前もって感謝します!
は、入力要求における役割フィールドがvalidateAsync関数内から管理者またはユーザーが含まれているかどうかを確認することも可能でしょうか? –
@DevStar申し込み段階では、ユーザーはいません!おそらくあなたはフォームデータ内のサーバーへのユーザー送信のサインアップの役割を送っているかもしれません –
実際には、2つの役割はモバイルとWebリクエスト用に保存されています。モバイルからのリクエストには、リクエストで送信される1つのロールと、Webバックエンドからのリクエストに対する別のロールがあります。 –