gpt4 book ai didi

javascript - ASP.NET - 带有动态错误消息的自定义验证器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:19:33 25 4
gpt4 key购买 nike

我目前正在尝试确保在文本框中输入的数字能被 1.25 或 1.5 整除。我决定天气将数字修改 1.25 或 1.5 的方式取决于另一个下拉列表中的内容。例如:如果一个DDL的选择索引是1,我模1.5,如果是2我模1.25。

但是我需要向用户显示抛出错误的原因。自定义验证器的错误消息需要类似于“Number Must be devisible by 1.25”,反之亦然。

据我所知,代码应该可以工作。但事实并非如此。我在另一个论坛上读到,获取源代码并将 innerText 设为您的错误消息应该可以解决问题。但我一定是在某个地方做错了什么。当我单步执行我的 javascript 函数时,它会完美地单步执行。只是没有错误信息。这是我的代码:

<asp:CustomValidator ID="ValidateFinHeight" runat="server" CssClass="NormLabel" 
Display="Dynamic"
ControlToValidate="txtFinHeight"
ClientValidationFunction="validateFinHeight"></asp:CustomValidator>

<script type="text/javascript" language="javascript" >
function validateFinHeight(source, arguments)
{
var ddl = document.getElementById('cboTubeDia');
var ddlSelIndex = ddl.selectedIndex

switch(ddlSelIndex)
{
case 0:
arguments.isValid = true;
return;
case 1:
if(arguments.value%1.25 != 0)
{
source.innerText = "Height must be divisibly by 1.25";
arguments.isValid = false;
return;
}
else
{
arguments.isValid = true;
return;
}
case 2:
if(arguments.value%1.5 != 0)
{
source.innerText = "Height must be divisibly by 1.5";
arguments.isValid = false;
return;
}
else
{
arguments.isValid = true;
return;
}
}
}
</script>

最佳答案

根据区分大小写,您的 javascript 函数中存在几个小错误(例如 IsValidValue)。我已经调试它以查看我必须设置 Error-Span 的哪些属性。它是 Firefox 的 textContent 属性和 IE 的 innerText

工作功能(支持跨浏览器):

  function validateFinHeight(source, args) {
var ddl = document.getElementById('cboTubeDia');
var ddlSelIndex = ddl.selectedIndex;
var errorMsg = "";

switch (ddlSelIndex) {
case 0:
args.IsValid = true;
return;
case 1:
if (args.Value % 1.25 != 0) {
errorMsg = "Height must be divisibly by 1.25";
if (source.innerText) {
source.innerText = errorMsg;
} else {
source.textContent = errorMsg;
}
args.IsValid = false;
return;
}
else {
args.IsValid = true;
return;
}
case 2:
if (args.Value % 1.5 != 0) {
errorMsg = "Height must be divisibly by 1.5";
if (source.innerText) {
source.innerText = errorMsg;
} else {
source.textContent = errorMsg;
}
args.IsValid = false;
return;
}
else {
args.IsValid = true;
return;
}
}
}

关于javascript - ASP.NET - 带有动态错误消息的自定义验证器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4598882/

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