В настоящее время я пытаюсь убедиться, что число, введенное в текстовое поле, делится на 1,25 или 1,5. Способ, которым я определяю погоду, - это число, равное 1,25 или 1,5, зависит от того, что находится в другом выпадающем списке. Например: если выбранный индекс DDL равен 1, I mod - 1,5, если он равен 2 I mod на 1,25.ASP.NET - пользовательский валидатор с динамическим ErrorMessage
Однако мне нужно показать пользователю причину ошибки. Сообщение об ошибке пользовательского валидатора должно быть чем-то вроде «Номер должен быть дешифрован на 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>
Вы упомянули, что число равно 1,25, если selectedindex равно 2 и 1.5, если selectedindex равно 1, но в вашей функции javascript вы проверяете наоборот. Не важно для ответа на ваш вопрос. –