ノックアウトバインディングを使ってテーブルを一括編集するasp.net mvc3プロジェクトがあります。私は、データを保存しながら、必要と数の検証のような検証をしたい。検証をノックアウトする簡単な方法はありますか? PS:私は書式を使用していません。ノックアウト検証
ノックアウト検証
答えて
Knockout-Validationをご覧ください。これは、knockout documentationに記載されている内容をきちんと設定して使用しています。以下の下:ライブ例1:入力を強制すると、数値であることを
UPDATEすることができますフィドルはcloudfareのCDNを使用して、最新のKO 2.0.3および1.0.2 ko.validationを使用するように更新されましたセットアップ検証ルール、利用延長へ
ko.validation.rules.pattern.message = 'Invalid.';
ko.validation.configure({
registerExtenders: true,
messagesOnModified: true,
insertMessages: true,
parseInputAttributes: true,
messageTemplate: null
});
:セットアップko.validationへのURL
。たとえば、
var viewModel = {
firstName: ko.observable().extend({ minLength: 2, maxLength: 10 }),
lastName: ko.observable().extend({ required: true }),
emailAddress: ko.observable().extend({ // custom message
required: { message: 'Please supply your email address.' }
})
};
Knockout.jsの検証は便利ですが、堅牢ではありません。常にサーバー側の検証レプリカを作成する必要があります。あなたの場合(knockout.jsを使用する場合)、JSONデータをサーバーに送信して非同期に戻すので、ユーザーにクライアント側の検証があると思うようにすることができますが、実際にはサーバー側の非同期検証となります。
ここで例を見てくださいupida.cloudapp.net:8080/org.upida.example.knockout/order/create?clientId=1 これは「オーダーの作成」リンクです。 「保存」をクリックして、製品を再生してみてください。 この例は、codeplexのupidaライブラリ(このライブラリのspring mvc versionとasp.net mvcがあります)を使用して行います。
-1これはKnockoutに特有のものではありません。すべてのJavaScriptは、サーバー上でも常に検証される必要があります。ノックアウト検証ライブラリは、クライアント側を検証します。 – Mike
実際にあなたが最初にクライアント側を検証できるときに、必要でない限り有用ではないと思うサーバー側の検証をpingするために余分なサイクルを追加します。これは、あなたがKOまたは他のフレームワークを使用するかどうかにかかわらず、事実です。 – DropHit
@SeanThorburn合意。私はそれが答えが悪いとは思わなかった。私はこれがいくつかのシナリオではかなりうまく動作することが分かりました。 – MPavlak
KnockoutValidationライブラリを使用しない場合は、独自に書き込むことができます。必須フィールドの例を次に示します。
すべてのあなたKO拡張または増量とJavaScriptのクラスを追加し、次の行を追加します。例は多数あります
self.dateOfPayment: ko.observable().extend({ required: "" }),
:あなたのViewModelで
ko.extenders.required = function (target, overrideMessage) {
//add some sub-observables to our observable
target.hasError = ko.observable();
target.validationMessage = ko.observable();
//define a function to do validation
function validate(newValue) {
target.hasError(newValue ? false : true);
target.validationMessage(newValue ? "" : overrideMessage || "This field is required");
}
//initial validation
validate(target());
//validate whenever the value changes
target.subscribe(validate);
//return the original observable
return target;
};
その後はで観測可能あなたを拡張オンラインでこのタイプの検証を行います。
okですが、私はview.modelをサーバー側からajaxとmvc razorとknockout.mapping経由で取得しています。私はまた、java.netモジュールを.net mvc、newton json変換、およびhtlml生のヘルパーを使ってserversideから直接インポートします...今、....一度に1つのフィールドを観察することなく私のobservablesを拡張するにはどうしたらいいですか? – Clarence
- 1. ノックアウト検証エラーメッセージスパン
- 2. ノックアウト検証プラグインカスタムエラーメッセージ
- 3. Typescriptノックアウト検証カスタムルール
- 4. ノックアウト検証テキストのみ
- 5. ノックアウト検証:動的制約
- 6. ノックアウト検証カスタムメッセージテンプレートの問題
- 7. ノックアウト検証ko.validation.groupとko.validatedObservable
- 8. 剣道ノックアウト+ブートストラップ4検証
- 9. ノックアウト検証 - エラーメッセージの表示方法
- 10. ノックアウトJS +部分的なビューと検証?
- 11. カスタマイズはノックアウト検証中=真の必要
- 12. ノックアウト検証が失敗する
- 13. ノックアウトを使用したフォーム検証
- 14. ノックアウト検証無効化の有効化
- 15. ノックアウト検証カスタムルールが機能しない
- 16. ノックアウト検証のみオブジェクトの機能とパターンの検証がありません
- 17. ノックアウト検証正規表現を使用してパスワードを検証する
- 18. foreach内にノックアウトが検出された場合、ノックアウト検出
- 19. ノックアウト検証が必要なのはなぜですか?
- 20. ボタンクリックでノックアウト検証エクステンダーを呼び出す
- 21. クライアントサイドMVCフレームワーク(バックボーン、ノックアウトなど)および検証
- 22. ノックアウト検証でエラーをクリアしました
- 23. ノックアウト検証でエラークラスが適用されない
- 24. 観測可能な配列によるノックアウトの検証
- 25. ノックアウトの依存検証は動作しません
- 26. ノックアウト検証で必要な項目が処理されない
- 27. ノックアウト検証変更後の購読更新
- 28. ノックアウトによるライブ検索
- 29. 正規表現を使用して電話番号を検証するノックアウト検証
- 30. ノックアウトとjQueryの検証リモート:最新の値を取得しない
私はIE9とIE10で壊れていますか? ChromeとFirefoxで動作します。 –
@rob:IE9は私にAを与えます。 "スクリプトがMIMEタイプの不一致によりブロックされました" - エラー。おそらく、このセキュリティチェックを無効にすることができます。 – Cohen
@rob:IEで動作させるために、私はリソースを削除し、knockout.validationをフィドルにコピーしましたが(醜い、私が知っています)、それは動作します:http://jsfiddle.net/KHFn8/1369/ – Cohen