問題タブ [meteor-collection2]
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 - Meteor collection2 - all validation messages
I am looking for a way to retrieve all validation errors. (I'm using Collection2 and SimpleSchema)
Consider this code:
output:
I would like to have all the error messages that are related to validation. Unfortunately I couldn't find any solution for this.
SOLUTION:
I've found a satisfiable solution
meteor - 作業中の Meteor プロジェクトに Collection2 を実装する方法は?
Collection2のドキュメントでは、 Schemaの作成方法とSchema をコレクションにアタッチする方法について説明していますが、挿入/更新フォーム、エラー処理、オートフォームを使用しない完全な動作例が欠落していると思います。
Collection2 を使用するように既存のプロジェクトを変更するにはどうすればよいですか? 具体的には:
- まだする必要があり
check(Meteor.userId(), String);
ますか? - もう電話する必要はありません
check()
か? - 認証コードを削除できますか? を呼び出すだけ
insert()
で、Collection2 はスキーマのおかげですべてのエラーをキャッチしますか? - 他に変更すべき点はありますか?
DiscoverMeteor のサンプル コードは次のとおりです。
Collection2 を使用するように更新すると、このコードはどのようになりますか?
meteor - meteor-collection2 の「denyInsert」の目的は何ですか?
の denyInsert および denyUpdate オプションに関するドキュメントのセクションにはaldeed:meteor-collection2
、フィールドを に設定するオプションがありますdenyInsert
。これは、そのプロパティ/フィールドを含む挿入がエラーをスローすることを意味します。
単にスキーマで指定せず、filter
オプションを使用してスキーマにないプロパティを削除するよりも、これの使用例は何ですか?
meteor - Collections2 を使用して浮動小数点値を Meteor (JS) に保存するにはどうすればよいですか?
スキーマ (simple-schema) に Number データ型がありますが、collections2 を使用すると浮動小数点数を格納できません。
Schema.Coordinates = new SimpleSchema({
lng: {
type: Number,
min: -180.0,
max: 180.0
},
lat: {
type: Number,
min: -90.0,
max: 90.0
}
});
整数以外のもの (xxxx.0 を含むもの) を挿入しようとすると、検証エラーが発生します。
W20150222-20:24:23.523(-8)? (STDERR) Error: Lng must be an integer
javascript - autoform を使用した Meteor Method のスキーマの検証
私はautoform、collection2を使用しています。サーバーのデータベースに保存する前にフィールドを追加したいので、挿入/更新にメソッド呼び出しタイプを使用したいと考えています。SimpleSchema はクライアントのデータをチェックしますが、サーバー側でもスキーマに対してデータをチェックするにはどうすればよいですか? 新しいデータを追加する私の方法は次のとおりです。
javascript - Meteor では、兄弟の値を引数として使用して、サブスキーマのタイプを動的に設定できますか? ( Collection2 )
バックグラウンド
私は、インターネットの経験がほとんどない人のために、いくつかのブログ ソフトウェアを設計している最中です。インターネットとのやり取りを観察すると、記入しなければならないフォームの数が増えるにつれて、クライアントはますますイライラします。これを改善するために、ブログの作成を 1 つのページにまとめ、すべての編集をインラインで行いたいと考えています。
彼らがブログ投稿を作成する方法は、
- コンテンツの「ブロック」を選択すると、キャンバスに配置されます。
- 素材に満足するまでインラインでブロックを編集し、
- 別のブロックを追加し、すすぎ、完了するまで繰り返します。
- 投稿を保存すると、データがセッションからサーバーに送信されます。
すべてのインライン コンテンツの作成を問題なく実行できるようにするパッケージを作成済みです。ただし、一般的に、ボールをプレーするためのスキーマを取得することは別の獣です。各ブロックを Spacebars テンプレートとして構成し、各投稿のテンプレート フィールドでレンダリングするテンプレートを指定したいと考えています。このアプローチがうまくいかないのは、可能性のあるすべての投稿に対して 1 つの大規模なスキーマが必要ないことです。大量の投稿を小さな投稿に削り取るのではなく、テンプレート フィールドに一致するように投稿のサブスキーマを拡張するとよいでしょう。残念ながら、Collection2 は、テンプレート フィールドに基づいてサブスキーマを動的に拡張できるようにするために、少し扱いにくいことがわかっています。
基本スキーマ
備品データ:
実験
上で強調したセクションでは、上に書かれているように、data: { type: ... }
オブジェクトにはフィールド メソッドがありません。autoValue メソッドだけがそれにアクセスできるようですが、これは奇妙です。これもうまくいきません。
では、フィールドにアクセスするにはどうすればよいでしょうか。
type プロパティはコンストラクター関数に渡すことができるため、プロパティを適切に評価します。テンプレート プロパティからデータを受信できないようです。
ここからどこへ
残念ながら、これは私が探している動的なスキーマの構築を可能にしません。だから私の質問はこれです。コンストラクターをデータ フィールドの type プロパティに渡すことができる場合、テンプレート フィールドの値を何らかの形で渡して、テンプレートを動的にレンダリングできるようにする方法はありますか? Collection2はすごく便利なので使い続けたいです。私がいじっているもう 1 つのアプローチは、1 つの巨大なブロック スキーマを作成し、ブロック タイプごとに Collection2 でその一部を選択することです。
何かアドバイス?(リファクタリング、コードの受け渡しなど)
meteor - meteor simple スキーマを使用してフィールド内に任意のオブジェクトを格納する
field を持つスキーマがありますtype: Object
。しかし、挿入を行うたびに、そのオブジェクトは空です。
これが私のスキーマです
にしてもContacts.insert({firstName: 'Mustafa', twitterFriend: {test: 'this should be stored'}})
。それは動作しません。