Member 12677894 Ответов: 0

Почему элемент управления customvalidator не запускает функцию валидации на стороне клиента?


у меня есть datagrid, один столбец состоит из текстовых полей, если пользователь пытается ввести какие-либо пробелы, он не должен разрешать,поэтому я добавил customvalidator для этого текстового поля и написал функцию javascript для обнаружения любых белых spcaces
но, функцию на стороне клиента JavaScript-это не увольнение

я использую .серии net4 и происходит АСП.веб-серии net4 приложения
<pre></asp:TemplateColumn>
												<asp:TemplateColumn SortExpression="Qty" HeaderText="On Hand Qty">
													<HeaderStyle HorizontalAlign="center" VerticalAlign="Middle"></HeaderStyle>
													<ItemStyle HorizontalAlign="center" VerticalAlign="Middle"></ItemStyle>
													<ItemTemplate>
														<asp:TextBox width="50px" ID="lblOnHandQty" Runat="server" maxlength="8" Text='<%# DataBinder.Eval ( Container.DataItem, "Qty" ) %>'>
														</asp:TextBox>
                                                        <%-- <asp:RegularExpressionValidator runat="server" ID="regex2" ControlToValidate="lblOnHandQty" ValidationExpression="^[0-9]+$" ErrorMessage="qty Can only be positive number"></asp:RegularExpressionValidator>--%>
                                                         <asp:CustomValidator ID="CustomValidator2"  runat="server" ErrorMessage="CustomValidator" ValidateEmptyText="true" ClientValidationFunction="myfunction" EnableClientScript="true" ControlToValidate="lblOnHandQty"></asp:CustomValidator>
                                                    </ItemTemplate>
												</asp:TemplateColumn>


<pre><script type="text/javascript" language="javascript">
    function myfunction(source, arguments) {
        var patt = new RegExp(" ");
        var result = patt.test(arguments.value);
        if (result) {
            arguments.IsValid = true;
        }
        else {
            arguments.IsValid = false;
        }

    }
  </script>


Что я уже пробовал:

я включил validateEmptyField =true, но желаемого вывода нет

F-ES Sitecore

Это не работает, потому что ваш код неправильный, поэтому вам нужно его исправить. Если вам нужна помощь в исправлении кода, то было бы неплохо, если бы вы опубликовали его для других.

Member 12677894

добавил код, есть какое-нибудь решение??

Sunasara Imdadhusen

вы уверены, что функция "myfunction"не вызывает? или это вызов, но не проверка?

0 Ответов