没有回发的Requiredfieldvalidator(仅限Javascript)

时间:2014-04-30 06:45:04

标签: javascript asp.net

我想知道是否可以在javascript中完成requiredfieldvalidator。 我不希望我的按钮单击处理页面执行回发,因为回发完全重置我的样式,并且在ispostback上重新加载太多了。

然而,一旦所有字段都完成,我将回发到服务器以更新SQL。

<asp:UpdatePanel id="PurGradeUpdate" runat="server" RenderMode="Inline">
       <ContentTemplate>
          <telerik:RadComboBox ID="PURGrade" runat="server" Width="100" EmptyMessage=" ---" Font-Bold="true"></telerik:RadComboBox>
          <asp:RequiredFieldValidator ID="PurGradeValidate" runat="server" Display="Dynamic" ControlToValidate="PURGrade" ErrorMessage="!!!" Font-Italic="true" Font-Bold="true" ForeColor="Red" InitialValue=" ---" EnableClientScript="true"></asp:RequiredFieldValidator>
       </ContentTemplate>
       <Triggers>
           <asp:AsyncPostBackTrigger ControlID="PURProduct" EventName="SelectedIndexChanged" />
       </Triggers>
</asp:UpdatePanel> 
<telerik:RadButton ID="PurCreate" runat="server" AutoPostBack="false" OnClientClicked="PerformValidation"></telerik:RadButton>

我在更新面板中有以上内容,因为组合框是通过SQL读取填充的,基于其他组合框选择的索引更改。

我现在想在我的进程按钮单击上调用“PerformValidation”,此处必须进行验证,如果无效,则显示错误消息。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好的,我在我的VS上查了一下,这肯定有用:

<asp:UpdatePanel id="PurGradeUpdate" runat="server" RenderMode="Inline">
       <ContentTemplate>
          <asp:DropDownList ID="PURGrade" runat="server" Width="100" Font-Bold="true"></asp:DropDownList>
          <asp:RequiredFieldValidator ID="PurGradeValidate" runat="server" Display="Dynamic" ControlToValidate="PURGrade" ErrorMessage="!!!" Font-Italic="true" Font-Bold="true" ForeColor="Red" InitialValue="---" EnableClientScript="true"></asp:RequiredFieldValidator>
           <asp:DropDownList ID="PURProduct" runat="server" Width="100" Font-Bold="true"></asp:DropDownList>
       </ContentTemplate>
       <Triggers>
           <asp:AsyncPostBackTrigger ControlID="PURProduct" EventName="SelectedIndexChanged" />
       </Triggers>
</asp:UpdatePanel> 
<Asp:Button ID="PurCreate" runat="server" AutoPostBack="true"></Asp:Button>

在aspx.cs文件中,我添加了默认值:

PURGrade.Items.Insert(0, "---");

正如我之前告诉你的那样,在你不需要使用自定义JavaScript命令在客户端进行验证之前,默认情况下,asp必需的字段验证器在客户端运行。可能导致代码出现问题的唯一想法是您使用的自定义控件。确保您的组合框空值是真正添加到选择列表中的默认值。