Показать только проверку на стороне клиента с валидаторами клиента и сервера в asp.net

2

Если у меня есть что-то вроде следующего:

<asp:TextBox id="test" runat="sever"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ControlToValidate="test"  
ErrorMessage="Required"></asp:RequiredFieldValidator>
<asp:Label runat="server" id="lblStatus"></asp:Label>

если в коде позади я установил метку "Вы должны ввести значение, если текстовое поле пуст", чтобы проверить его на стороне сервера, и это нормально, но если включен javascript, я не хочу покажите проверку на стороне клиента и метку на стороне сервера. Является ли это чем-то, где я просто должен был бы отключить валидаторы на стороне клиента, если бы был включен javascript?

Теги:

3 ответа

1
Лучший ответ

На самом деле вы можете просто использовать один валидатор и выполнить проверку как клиента, так и сервера. ASP.Net позаботится о том, следует ли запускать клиент или клиент или сервер только с небольшой помощью от вас. Вы никогда не должны полагаться только на проверку клиента, но проверка сервера может быть тихой, т.е. Вам не нужно возвращать пользователю два сообщения об ошибках.

Следовательно, вам не нужен свой собственный ярлык статуса, и вам нужно будет добавить проверку обработчику (-ам) событий, которые будут запущены с вашей страницы.

protected void btnSubmit_Click(object sender, EventArgs e)
{
    if(!Page.IsValid)
    {
        return;
    }
}
1

Да.:)

Хорошо, я не уверен, что понимаю ваш вопрос, потому что кажется, что вы сами ответили на него. Не можете ли вы просто отключить проверку на стороне клиента для этого RequiredFieldValidator для достижения того, что вы хотите?

<asp:RequiredFieldValidator runat="server" ControlToValidate="test"
    ErrorMessage="Required" EnableClientScript="False"/>
0

Я не уверен, что у меня есть вопрос, но вы можете выполнить проверку в своем javascript-коде и избежать PostBack.

var doSomething = function(sender, args){
 if(Page_IsValid){
  //Do something cool
  return true;
 }else{
  return false;
 }
}

Сегодня я столкнулся с какой-то аналогичной проблемой на работе, пожалуйста, обратитесь к следующей ссылке, это очень полезно

ASP.NET Валлидация в глубину http://msdn.microsoft.com/en-us/library/aa479045.aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню