Как заставить валидатор asp проверять через jQuery / javascript

#c# #javascript #jquery #asp.net #html

#c# #javascript #jquery #asp.net #HTML

Вопрос:

У меня есть asp:RequiredFieldValidator, который проверяет asp: текстовое поле, чтобы увидеть, является ли оно пустым или нет.

При нажатии кнопки я хотел бы заставить валидатор проверять текстовое поле. Это должно быть сделано с помощью jQuery / javascript, поскольку кнопка является кнопкой ввода html.

Есть идеи? Я прочитал много ресурсов в Интернете, но не смог выполнить это (т. Е. Вызвать проверку через jquery)

Комментарии:

1. Мой ответ делает то, что вы ищете. Я предоставил полный пример того, как это реализовать.

Ответ №1:

Вы можете запустить проверку из JavaScript следующим образом:

 var isValid = Page_ClientValidate("");
  

Если вы хотите проверять элементы управления только в определенной группе, просто передайте имя группы в функцию:

 var isValid = Page_ClientValidate("GroupName");
  

Вот краткий пример:

 <script type="text/javascript">
    validateStuff = function(){
       return Page_ClientValidate("ValidateTextBox");
    }
</script>  
<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ControlToValidate="TextBox1" 
    ValidationGroup="ValidateTextBox" 
    Display="Dynamic" 
    ErrorMessage="*" ...>
</asp:RequiredFieldValidator>
<input type="button" value="Click Me" onclick="return validateStuff();" />
  

Комментарии:

1. Я не голосовал против вас, но, возможно, потому, что это выходит за рамки фреймворка. Просто установите ValidationGroup в кнопке и создайте пользовательский валидатор, он будет работать.

2. В исходном вопросе говорится, что кнопки ASP нет. Таким образом, не было бы свойства ValidationGroup для назначения.

3. Тот же принцип по-прежнему применяется. Вместо этого просто используйте onclick для вызова функции. Этот подход вообще не отвлекает фреймворк. Он просто вручную запускает проверку.

4. Да, я просто указывал, почему решение @drdwilcox не было завершено.

5. Спасибо, чувак. Пришлось искать везде, только чтобы найти это идеальное решение, сидящее здесь. приветствия!

Ответ №2:

если его проверка jQuery выполняется после — есть несколько лучших / более простых в реализации, чем эта -> http://bassistance.de/jquery-plugins/jquery-plugin-validation /

Комментарии:

1. Я бы предпочел не использовать плагин. Нет способа сделать то, что мне нужно?

2. Мой ответ расскажет вам, как это сделать. На самом деле это не так сложно.

3. Вам это может показаться несложным, но другие только осваивают азы. Я думаю, что OP просто пытается просмотреть различные варианты.

Ответ №3:

Все, что вам нужно, это пользовательский валидатор. Добавьте OnServerValidate для серверной части и ClientValidationFunction в свой javascript. Вот достаточно хорошее введение в CustomValiditors, но без ссылки на jQuery:https://web.archive.org/web/20211020145934/https://www.4guysfromrolla.com/articles/073102-1.aspx

Комментарии:

1. Я попробую реализовать это! Большое спасибо за помощь 🙂

2. Пользовательский валидатор на самом деле не является правильным решением здесь. OP просто нужен RequiredFieldValidator для проверки при нажатии кнопки. Использование пользовательского валидатора было бы излишним для такой простой задачи.