2016-07-11 2 views
0

Я хочу использовать валидаторы ASP: Requiredfieldvalidator, Regularexpressionvalidator. Я использую визуальную студию 2013 года и ничего не имею о проверках в своем web.config.Почему мои валидаторы ASP не используют javascript?

Проблема заключается в том, что нет Javascript проверки не используется на странице, я включить эту строку в моем файле global.asax в методе Application_Start:

ScriptManager.ScriptResourceMapping.AddDefinition("jquery", new ScriptResourceDefinition { Path = "~/js/jquery-2.2.4.min.js"}); 

путь является правильным и файл JQuery в там.

Запрошенный ASPX страница:

<label>Naam</label> 
<asp:TextBox ID="TextBox_name" CssClass="form-control" placeholder="Naam" CausesValidation="true" runat="server"></asp:TextBox> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator_name" runat="server" ErrorMessage="Vul uw naam in" Display="None" ControlToValidate="TextBox_name"></asp:RequiredFieldValidator> 
<asp:Button ID="Button_send" runat="server" Text="Verstuur" CssClass="btn btn-default" OnClick="Button_send_Click" CausesValidation="true" /> 
+2

Без фактического кода .aspx трудно понять, что вы имеете в виде .. но если вы использовать 'RequiredFieldValidator' в яваскрипте кода он ссылается не полагаться на JQuery или другой LIBS JS, но это selft, созданный самим ASP. – weirdgyn

+0

@weirdgyn Добавлен код страницы aspx. Обычно, когда вы дважды нажимаете вкладку, не помещая что-либо внутри текстового поля, в то время как на нем есть обязательный идентификатор, это может привести к ошибке проверки правителя? в моем случае этого не происходит. – Gameshadow

+0

Так что 'Display =" None "' специально? Или это была ошибка? Потому что это, скорее всего, ваша проблема. – JDB

ответ

0

Для того чтобы увидеть индикатор проверки на стороне клиента, вы можете определить текст свойство валидатора, и установите его свойство Display в Dynamic или Static:

<asp:RequiredFieldValidator Display="Dynamic" Text="Missing value!" ForeColor="Red" ... /> 

Обратите внимание на то, что проверка будет инициирована только в том случае, если какое-либо изменение было внесено в текст до того, как он потеряет фокус (в этом случае удаляет весь контент).

Если вы хотите, чтобы проверки достоверности каждый раз, когда TextBox теряет фокус, даже если никаких изменений не было сделано с его содержанием, вы можете справиться с blur события:

<asp:TextBox onblur="validateText();" ... /> 

со следующим обработчиком событий:

<script type="text/javascript"> 
    function validateText() { 
     var validator = document.getElementById('<%= RequiredFieldValidator_name.ClientID %>'); 
     if (validator) { 
      ValidatorValidate(validator); 
     } 
    }  
</script> 
+0

Ты совершенно прав, это ответ на мой вопрос. Большое спасибо! – Gameshadow

Смежные вопросы