監視可能な配列の下で複数のカスタム検証ルールを定義しようとしました。 https://github.com/ericmbarnard/Knockout-Validation/wiki/Custom-Validation-Rulesを参照していました。
以下は、検証呼び出しを含む私の observablearray です。
this.WeeklyData = ko.observableArray([]).extend({
validation: [
{
validator : fminIncrements,
message: 'use 15 min increments'
},
{
validator: ValidateMinMax,
message: "Invalid min/max value"
}
]
});
var ValidateMinMax = function (valueArray) {
var check = true;
ko.utils.arrayFirst(valueArray, function (value) {
if (parseInt(value.Val(), 10) < 0 || parseInt(value.Val(), 10) > 168) {
check = false;
return true;
}
});
return check;
};
var fminIncrements = function (valueArray) {
var check = true;
ko.utils.arrayFirst(valueArray, function (value) {
if (parseInt(value.Val(), 10) % 15 !== 0) {
check = false;
return true;
}
});
return check;
};
これを行うと、最初のルールのみが起動します。デバッグしましたが、2番目のものにもヒットしません。何か案が?
助けてくれてありがとう。