gpt4 book ai didi

c# - 使用javascript在aspx页面上的用户控件上进行验证

转载 作者:太空宇宙 更新时间:2023-11-03 16:36:42 24 4
gpt4 key购买 nike

我有一个用户控件,其中包含 3 个下拉列表(日期、月份、年份)。我在 aspx 页面上调用了这个用户控件。

请选择日期。

在我的 aspx 页面上,所有字段都使用 javascript 验证进行验证。当我从此用户控件中选择日期(不是月份和年份)并单击提交按钮时,它会显示错误消息。但我的问题是,如果我选择年份(不是日期、月份),那么在这种情况下,它既不会触发错误消息,也不会保存数据。我希望它在至少一个字段(日、月、年)未被选中时每次都会触发消息。我想在客户端处理这个问题。请给我你的建议。

function InputValidation(vg) {
var isValid = true;
try {
var j = 0;
var inputCtrlArr = new Array();
var key = 'block';
var inputIntputArr = document.getElementsByTagName('input');
var inputDdlArr = document.getElementsByTagName('select');
var inputTextareaArr = document.getElementsByTagName('textarea');
var c = 0;
for (var i = 0; inputIntputArr.length > i; i++) inputCtrlArr[c++] = inputIntputArr[i];
for (var i = 0; inputDdlArr.length > i; i++) inputCtrlArr[c++] = inputDdlArr[i];
for (var i = 0; inputTextareaArr.length > i; i++) inputCtrlArr[c++] = inputTextareaArr[i];
for (var i = 0; inputCtrlArr.length > i; i++) {
if (inputCtrlArr[i].getAttribute('required') == 'true' && inputCtrlArr[i].getAttribute('vg') == vg) {
if (inputCtrlArr[i].value.trim() == '') {
//errinputReqCtrlArr[j++] = inputCtrlArr[i];
key = 'block';

isValid = false;
}
else {
key = 'none';
}
if (inputCtrlArr[i].type == "checkbox") {
if (inputCtrlArr[i].checked == false) {
//errinputReqCtrlArr[j++] = inputCtrlArr[i];
key = 'block';

isValid = false;
}
else {
key = 'none';
}
}
var errorDivId = inputCtrlArr[i].getAttribute('ErrorDivId');
var objErrorDivId = document.getElementById(errorDivId);
if (objErrorDivId != null) objErrorDivId.style.display = key;
}
}
}
catch (ex) { }

}



function InputCntrlValidate(obj) {
try {
if (obj.getAttribute('required') == 'true') {
if (obj.value == '') {
key = 'block';
}
else {
key = 'none';
}
var errorDivId = obj.getAttribute('ErrorDivId');
var objErrorDivId = document.getElementById(errorDivId);
if (objErrorDivId != null) objErrorDivId.style.display = key;
}
} catch (ex) { }
}




function sanitizeInput(obj) {

if (obj.getAttribute('msg') == obj.value) {
alert("same value");
}

}

最佳答案

问题出在您的 JavaScript 中。因为如果它适用于一个下拉列表,那么它应该适用于其他两个。此外,您还必须检查月份和日期。如果是二月,那么天数应该是 28 或 29,这取决于年份。因此需要付出很多努力才能解决。

关于c# - 使用javascript在aspx页面上的用户控件上进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8893078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com