我要做的是确保AttachValidationFunction收到
this.ClientID
Dictionary<String, String>
)在渲染时,用所有添加的控件数组注册一个javascript块,结果如下:
<script type="text/javascript">
var controlsToValidate = [
{ id: 'ctl00_txtNumeric', validate: function(e) { return isNumeric(e.value); } },
{ id: 'ctl00_txtEmail', validate: function(e) { return isEmail(e.value); } }
];
</script>
然后你可以像这样迭代这个数组:
<script type="text/javascript">
function isFormValid() {
for(var i = 0; i < controlsToValidate.length; i++) {
var control = controlsToValidate[i];
var field = document.getElementById(control.id);
if(!control.validate(field))
return false;
}
return true;
}
</script>
我希望这很清楚。