が、これはjoedotnotの便利なコードを拡張したものです。大部分のasp.netユーザーにとってはおそらく過剰ですが、これは選択されたボタンに応じて、送信時にバリデーショングループの異なる組み合わせを適用しなければならないプロジェクトに役立ちました。様々なイベントハンドラで、その後
var validationManager = function() {
// Manual client-side validation of Validator Groups
// an empty string('') is default - to validate controls without a validation group
var valGroups = [''],
returnObj = { //define methods
set: function (/*string argument list*/) {
valGroups = Array.prototype.slice.call(arguments);
return returnObj;
},
add: function (/*string argument list*/) {
var i;
for (i = 0; i < arguments.length; i++) {
if (valGroups.indexOf(arguments[i]) === -1) {
valGroups.push(arguments[i]);
}
}
return returnObj;
},
remove: function (/*string argument list*/) {
var i = 0, n = 0;
for (i = 0; i < arguments.length; i++) {
var n = valGroups.indexOf(arguments[i]);
if (n > -1) valGroups.splice(n, 1);
}
return returnObj;
},
validate: function() {
var i = 0,
summariesToDisplay = [];
for (; i < valGroups.length; i++) {
if (!Page_ClientValidate(valGroups[i])) { //this will display the contents of the validator
summariesToDisplay.push(valGroups[i]);
}
}
if (!summariesToDisplay.length) { return true; }
for (i = 0; i < Page_ValidationSummaries.length; i++) { //make relevant summaries visible
if (summariesToDisplay.indexOf(Page_ValidationSummaries[i].validationGroup || '') > -1) {
Page_ValidationSummaries[i].style.display = "inline"; //"none"; "inline";
}
}
return false;
}
};
if (arguments.length > 0) {
returnObj.set.apply(null, arguments);
}
return returnObj;
}
:
//set up a global object
var validateOnSubmit = validationManager('','BMIvalGrp');
//within a radio click handler
validateOnSubmit.add('weightValGrp','ageValGrp')
.remove('BMIvalGrp');
//added to submit button handlers
validateOnSubmit.validate();
私はこれを試していないので、私はこれに答えることができません。しかし、バリデータはクライアント側でトリガ/管理できます。 2002年の日付ですが、http://msdn.microsoft.com/en-us/library/aa479045.aspxを読んでみてください。 –
大丈夫、msdnリンクのおかげで、あなたはそれが日付だと言っていたが、バックグラウンドノイズ(情報)は、私の答えに私を助けた。 – joedotnot
私は同様の条件を持っています。私の問題は、両方のグループが失敗した場合、検証サマリーが2回呼び出されることです。 –