我的asp.net页面上有两个文本框和一个提交按钮.如何使用单个或多个RequiredFieldValidators检查两个文本框中是否至少有一个文本框中的提交按钮单击中是否有一些文本?
可以在日历中添加requiredFieldValidator吗?例如,我有一个提交按钮,如果点击它而没有选择日期红色文字应该出现说请先选择日期.
我知道一种方法是简单地在c#代码中检查selectedDate但是我可以像文本框一样创建requiredFieldValidator吗?
提前致谢.
我有多个RequiredFieldValidator,例如:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtbox1"
Display="Dynamic" ErrorMessage="Required Field" SetFocusOnError="True"
ValidationGroup="validator1" CssClass="validator" />
Run Code Online (Sandbox Code Playgroud)
链接到此按钮:
<asp:LinkButton runat="server" ID="btnNext1" Text="Next Page" CssClass="btn" ValidationGroup="validator1" />
Run Code Online (Sandbox Code Playgroud)
随着一些JavaScript:
<script type="text/javascript">
$(function() {
function nextPage1() {
$( "#divFirstPage" ).hide("fade");
$( "#divSecondPage" ).show("fade");
$( "#<%=btnNext1.ClientID%>" ).hide();
$( "#<%=btnNext2.ClientID%>" ).show();
$( "#<%=btnPrevious1.ClientID%>" ).show();
};
$( "#<%=btnNext1.ClientID%>" ).click(function() {
nextPage1();
return false;
});
$( "#divSecondPage" ).hide();
$( "#divThirdPage" ).hide();
$( "#<%=btnNext2.ClientID%>" ).hide();
$( "#<%=btnPrevious1.ClientID%>" ).hide();
$( "#<%=btnPrevious2.ClientID%>" ).hide();
});
</script>
Run Code Online (Sandbox Code Playgroud)
但是javascript在验证之前执行,因此id需要在javascript 之前执行验证
我正在使用asp.net验证,如必填字段验证器等.我想知道是否足够把这些验证器或后端的东西也应该完成?我的意思是它工作得很好,但我曾经听说验证也应该在后端等完成,因为客户端验证可以关闭,这将导致应用程序崩溃?这是真的吗?
例如
<asp:TextBox ID="txtFrom" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtFrom" Display="None" ErrorMessage=""
ForeColor="Red" >
</asp:RequiredFieldValidator>
To :
<asp:CalendarExtender ID="Calender" Format="dd/MMM/yyyy" runat="server" TargetControlID ="txtFrom"></asp:CalendarExtender>
<asp:TextBox ID="txtTo" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender1" Format="dd/MMM/yyyy" runat="server" TargetControlID ="txtTo"></asp:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValisdator9" runat="server"
ControlToValidate="txtTo" Display="None" ErrorMessage=""
ForeColor="Red" >
</asp:RequiredFieldValidator>
Run Code Online (Sandbox Code Playgroud)
伙计们,感谢您的回复,我试图验证提交按钮上的页面,像这样,是否正确?
protected void btnGenReport_Click(object sender,EventArgs e){//此事件生成特定日期之间投诉的报告.
try
{
//my report binding code
}
catch (Exception ex)
{
Response.Write(ex.Message.ToString());
}
Page.Validate();
if (Page.IsValid)
{
txtFrom.Text = "Validated";
}
else
{
txtFrom.Text = "NOT VALIDATED";
}
}
Run Code Online (Sandbox Code Playgroud) 嗨,我使用了必需的现场valiator.
现在如果我禁用javascript.我可以提交表格,为什么?没有服务器端验证?
我已经设置了提交按钮和验证器的validaton组.
谢谢
我的网格视图:
<asp:GridView ID="MyGridView" runat="server" ShowFooter="true"
AutoGenerateColumns="False" Visible="True">
<Columns>
<asp:BoundField DataField="id" ItemStyle-HorizontalAlign="center"/>
<asp:BoundField DataField="fullName" />
<asp:TemplateField HeaderText="situation>">
<ItemTemplate>
<asp:DropDownList ID="dl_situation" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="tbNr" runat="server"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Data">
<ItemTemplate>
<asp:TextBox ID="tbDate" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ErrorMessage="*" ControlToValidate="tbDate">
</asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
当我尝试填充 GridView 时,它给了我错误
Uncaught Sys.WebForms.PageRequestManagerServerErrorException:
Sys.WebForms.PageRequestManagerServerErrorException: Exception has been
thrown by the target of an invocation. ScriptResource.axd:847
Error$create ScriptResource.axd:847
PageRequestManager$_createPageRequestManagerServerError ScriptResource.axd:765
PageRequestManager$_parseDelta ScriptResource.axd:1654
PageRequestManager$_onFormSubmitCompleted ScriptResource.axd:1415
$type.createDelegate ScriptResource.axd:628
$type.getHandler ScriptResource.axd:4338
raise ScriptResource.axd:7248
WebRequest$completed ScriptResource.axd:7252
Sys.Net.XMLHttpExecutor._onReadyStateChange …Run Code Online (Sandbox Code Playgroud) 我正在从后面的代码中显示 requiredfieldvalidator 的错误消息,但显示设置为无或可见被隐藏。我尝试执行 .visible = true 但它仍然是隐藏的。我怎样才能让它显示错误消息?文本框位于 GridView 内。
<asp:TemplateField HeaderText="SSN">
<ItemTemplate>
<asp:TextBox ID="txtSSN" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtSSN" />
</ItemTemplate>
</asp:TemplateField>
TextBox txtSSN = (TextBox)r.FindControl("txtSSN");
if (txtSSN.Text == "")
{
RequiredFieldValidator RequiredFieldValidator1 = (RequiredFieldValidator)r.FindControl("RequiredFieldValidator1");
RequiredFieldValidator1.Visible = true;
RequiredFieldValidator1.Enabled = true;
RequiredFieldValidator1.ErrorMessage = "This field is required.";
}
Run Code Online (Sandbox Code Playgroud) 我有GridView一些TemplateField包含TextBox控件的项目。我想在其上添加一个必填字段验证器。这是我的代码:
<asp:TemplateField HeaderText="vid">
<EditItemTemplate>
<asp:TextBox ID="txtvid" runat="server" Width="150px"
Text='<%# Bind("vid") %>'>
</asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label
ID="lblvid" runat="server"
Text='<%# Bind("vid") %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
Run Code Online (Sandbox Code Playgroud)
如何在 上放置必填字段验证器txtvid?