http://ericmbarnard.github.com/Knockout-Validation/検証エンジンでノックアウト js 検証を使い始めましたが、次のことを行う方法がわかりません。
1) 条件に基づいて必要な特定のフィールドを設定したいとします。それ、どうやったら出来るの?例:
this.Username = ko.observable().extend({ 必須: true }); // this.UserType = 2 の場合のみ required = true にする、など...
2) 検証中のフィールドのすぐ隣で検証メッセージが発せられます。フィールドの横に「*」のみを表示し、ページの下部にある validationsummary フィールドにエラー メッセージを表示します。すべての検証エラーがそこに表示されます。どうやってするか?
3) フォームの検証に合格するまで、フォームの送信は避けてください。現在、検証エラー メッセージが表示されますが、フォームは送信されます。だから私は何か間違ったことをしていると思います。以下は私のコードです:
$(document).ready(function () {
var model;
// enable validation
ko.validation.init();
$.ajax({
type: "POST",
url: SERVER_PATH + '/jqueryservice/DataAccessService.asmx/GetData',
async: false,
data: "{ }",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result, status) {
model = new ViewModel(result);
ko.applyBindings(model);
},
error: GetDataError
});
$('#submit').click(function () {
var data = ko.toJS(model);
delete data.Vehicles;
delete data.CopyWeeks;
delete data.SetupTotal;
delete data.CloseTotal;
var mappedItems = ko.utils.arrayMap(data.DailyItemList, function (item) {
delete item.Add;
delete item.Delete;
return item;
});
data.DailyItemList = mappedItems;
$.ajax({
type: "POST",
url: SERVER_PATH + '/jqueryservice/DataAccessService.asmx/ProcessData',
async: false,
data: ko.toJSON(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result, stat) {
alert(success);
return false;
},
error: function (e) {
alert(e);
}
});
});
});
よろしくお願いします。
編集: 検証構成を次のように設定できることがわかりました: ko.validation.init();
しかし、エラー メッセージ テンプレート 'sErrorMsg' を定義する方法がわかりません