現在、テキストボックスに入力された数値が1.25または1.5で割り切れることを確認しようとしています。天気を1.25または1.5で変更する方法は、別のドロップダウンリストの内容によって異なります。例:DDLの選択されたインデックスが1の場合、I mod x 1.5、2 I modx1.25の場合。
ただし、エラーがスローされた理由をユーザーに表示する必要があります。カスタムバリデーターのエラーメッセージは、「数値は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>