問題タブ [simple-schema]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
meteor - シンプルなスキーマと複数のフォーム
次のようなユーザー プロファイル スキーマがあります。
私の登録フォームでは、ユーザーが性別を選択する必要があります。登録が完了すると、名前、場所、年齢などの残りのデータを入力する別のフォームがユーザーに表示されます。
問題は次のとおりです。ユーザーが登録しようとすると、次のエラーが表示されますName is required
。ユーザーは、登録するまで自分の名前を入力することは想定されていません。
実際に特定のフォームに保存されているデータのみを検証するための適切なアプローチは何ですか?
編集
ここに私の登録スクリプトがあります:
ユーザーが実際に登録すると、他のデータを入力するためのフォームが表示されます。フォーム送信は、プロファイル オブジェクトを更新しようとするメソッドを呼び出します。
javascript - Meteor / aldeed:simple-schema - 正規表現の問題
aldeed:simple-schema を使用して入力を検証するプロジェクトで meteor を使用しています。私のスキーマは次のようになります。
非文字列値を渡すか、名前フィールドの必須値を除外することで、スキーマが機能することをテストしました。これらはすべて期待どおりに機能しました。
ただし、正規表現の検証は機能していません。「123%^&」など、どんな文字列でも受け付けるようです。ここでこれらの文字列をいくつかテストしましたが、すべて合格するはずはありません。単純なスキーマで事前定義された正規表現以外を使用したのはこれが初めてで、何かを見逃したのではないかと思います。
同じ効果で、正規表現を配列に配置しようとしました。
Meteor 1.2 を使用しており、すべてのパッケージを最新バージョンに更新しました。
mongodb - コレクションヘルパーでログインしていないユーザーのユーザー名を取得する方法は?
私Questions
は、質問> libにあるファイル「collections.js」でSimpleSchemaを使用して定義したコレクションを持っています。
このコレクションにはaskedBy
フィールドがあります。これは、質問をした人の userId を格納する文字列の配列です。
別のファイル、質問 > サーバー > publish.js には、次のものがあります。
私の目的は、質問をしたユーザーの名前、つまり「askedBy」配列の ID に対応するユーザーのユーザー名を利用できるようにすることです。
どうすればいいですか?
私がこれまでに試したこと:
collections.js で:
Meteor.users
現在ログインしているユーザーの詳細にしかアクセスできないように見えるため、これは失敗します。他のユーザーからのすべての質問に対して、null 値が返されます。
それで、これをpublish.jsに追加しようとしました:
collections.jsとMeteor.subscribe("allUsers");
question.js の両方 (テンプレート ヘルパーとイベント ハンドラーがすべて含まれています)。また、コレクション ヘルパーを次のように変更しました。
しかし、それでもうまくいきません。
ログインしていないユーザーのユーザー名を取得するにはどうすればよいですか?
編集:これが重要な場合に備えて-フォルダー構造
javascript - リレーションシップを作成しようとしたときにコレクションが定義されていません
を使用して Meteor で非常に基本的な関係を作成しようとしていますaldeed:collection2
。
私は 2 つのコレクションを持っています。Blogs
とPosts
。各投稿は 1 つのブログに属する必要があるため、自分のスキーマblog
にタイプを追加しました。Blogs
Posts
これは機能するはずですが、Meteor が再起動するとすぐに次のエラーが表示されます。
ReferenceError: コレクション/Posts.js でブログが定義されていません
これを解決するにはどうすればよいですか?私の理解が正しければ、コレクションが別々のファイルにあることに問題があります。ただし、Blogs.js をより深く配置すると (Meteor はより深いファイルを最初にロードします)、次のようになります。
RangeError: 最大呼び出しスタック サイズを超えました
mongodb - Meteor のスキーマで autoForm を使用してドキュメントを更新しようとしてエラーが発生しました
エラーメッセージ:
「キャッチされないエラー: スキーマにないキーを除外した後、修飾子が空になりました」
コレクション 2 と Meteor の単純なスキーマで autoform を使用します。スキーマ:
テンプレートのフォーム コード:
ホームページのオートフォームで問題なくドキュメントを挿入できますが、個々のドキュメント ページでこのカスタム フォームを使用すると、送信時にエラーが表示されます。
送信前に 1 つのコレクション フックを設定していますが、これは単なるスキーマ エラーのようです。Rehab
元のスキーマで設定した配列がInjuries
これを台無しにしている可能性があります。これについて私が行った検索はすべて、スキーマの「タイプ」パラメーターが予想と一致しないことに関するものでしたが、ここでそれらを確認したところ、見栄えがよくなりました。提案?
meteor - オートフォームで制限フィールドを表示
私はこのスキーマを持っています:
mongoDB への挿入に quickForm を使用します。コードは次のとおりです。
および autoForm は、スキーマのすべてのフィールドを含むフォームを生成します。
ただし、次のフィールドなど、autoformでユーザーに表示するフィールドのみを制限したい:
そして、いくつかのフィールドに自分で入力します。たとえば、次のフィールドです。
クイックフォームはどのように使用できますか?
mongodb - meteor.userId を mongoDB に挿入します
simpleSchema でフィールドを初期化したい。userId を文字列フィールドに設定したい。
スキーマは次のとおりです。
ただし、オートフォームで挿入した後、挿入されたドキュメントは次のとおりです。
「insertedBy」フィールドに「null」値があることを意味します。
どうすればこれを修正できますか?