如何在asp.net中对两个控件使用单一验证
我想验证两个文本框控件,其中至少有一个文本框应该在提交前填写。是否有解决此问题的方法。请帮帮我如何在asp.net中对两个控件使用单一验证,asp.net,asp.net-mvc,validation,Asp.net,Asp.net Mvc,Validation,我想验证两个文本框控件,其中至少有一个文本框应该在提交前填写。是否有解决此问题的方法。请帮帮我 <asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox> <asp:RegularExpressionValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile
<asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox>
<asp:RegularExpressionValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile No" CssClass="valField" ValidationExpression="^[789]\d{9}$" ValidationGroup="reg" Display="Dynamic" ></asp:RegularExpressionValidator>
<asp:TextBox ID="txtSendEmail" runat="server" CssClass="textEntry"></asp:TextBox
<asp:RegularExpressionValidator runat="server" ID="regmail" Display="Dynamic" ControlToValidate="txtSendEmail" ErrorMessage="Invalid Email" ValidationGroup=" reg " CssClass="valField" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ></asp:RegularExpressionValidator>
这里是一个jquery,假设您有text1和text2文本框,您可以使用它
var txt1= jQuery.trim($("#text1").val());
var txt2= jQuery.trim($("#text2").val());
if(txt1=="" and txt2="")
{
alert("you message");
}
这里是一个jquery,假设您有text1和text2文本框,您可以使用它
var txt1= jQuery.trim($("#text1").val());
var txt2= jQuery.trim($("#text2").val());
if(txt1=="" and txt2="")
{
alert("you message");
}
好的,我假设你有两个文本框控件,如果你填充其中一个,那么另一个文本框将成为可选的。我认为最简单的解决方案是在文本框的文本更改事件上,您可以为第二个文本框设置必需的字段验证器启用/禁用。如图所示:
reqFirstname.Enabled = txtFirstname.Text == "Fred";
我不清楚你在这里的要求。上述解决方案假设您使用的是asp.net web表单。对于asp.net mvc,已经有一个库可以动态地执行此操作。如果您面临的问题与此处提供的解决方案不同,请告诉我。好的,我假设您有两个文本框控件,如果您填充其中一个,则另一个文本框将成为可选的。我认为最简单的解决方案是在文本框的文本更改事件上,您可以为第二个文本框设置必需的字段验证器启用/禁用。如图所示:
reqFirstname.Enabled = txtFirstname.Text == "Fred";
我不清楚你在这里的要求。上述解决方案假设您使用的是asp.net web表单。对于asp.net mvc,已经有一个库可以动态地执行此操作。如果您面临的问题与此处提供的解决方案不同,请告诉我。请尝试远程验证
[Remote("Validation", "Home", AdditionalFields = "value2")]
public String value1 { get; set; }
内部控制器
public JsonResult Validation(string value1, string value2 )
{
// Do the validation
}
尝试远程验证
[Remote("Validation", "Home", AdditionalFields = "value2")]
public String value1 { get; set; }
内部控制器
public JsonResult Validation(string value1, string value2 )
{
// Do the validation
}
如果您不想使用javascript,则可以创建一个函数:-
private bool checktextbox()
{
if(textbox1.text!="")
{
return true
}
else if(textbox2.text!="")
{
return true
}
else
{
return false
}
}
然后点击你的按钮,点击事件
if(checktextbox())
{
//your code
}
else{
//through error that atleat one text box should be filled
}
如果您不想使用javascript,则可以创建一个函数:-
private bool checktextbox()
{
if(textbox1.text!="")
{
return true
}
else if(textbox2.text!="")
{
return true
}
else
{
return false
}
}
然后点击你的按钮,点击事件
if(checktextbox())
{
//your code
}
else{
//through error that atleat one text box should be filled
}
如果您希望保持在asp.net验证框架内,则需要两个验证器,但可以使用javascript函数来统一逻辑
<asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox>
<asp:CustomValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile No" CssClass="valField" ClientValidationFunction="checkTexts" ValidationGroup="reg" Display="Dynamic" ></asp:CustomValidator >
<asp:TextBox ID="txtSendEmail" runat="server" CssClass="textEntry"></asp:TextBox
<asp:CustomValidator runat="server" ID="regmail" Display="Dynamic" ControlToValidate="txtSendEmail" ErrorMessage="Invalid Email" ValidationGroup=" reg " CssClass="valField" ClientValidationFunction="checkTexts" ></asp:CustomValidator >
如果您想留在asp.net验证框架内,您需要两个验证器,但您可以使用javascript函数来统一逻辑
<asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox>
<asp:CustomValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile No" CssClass="valField" ClientValidationFunction="checkTexts" ValidationGroup="reg" Display="Dynamic" ></asp:CustomValidator >
<asp:TextBox ID="txtSendEmail" runat="server" CssClass="textEntry"></asp:TextBox
<asp:CustomValidator runat="server" ID="regmail" Display="Dynamic" ControlToValidate="txtSendEmail" ErrorMessage="Invalid Email" ValidationGroup=" reg " CssClass="valField" ClientValidationFunction="checkTexts" ></asp:CustomValidator >
为什么不使用jquery进行验证?我知道使用jquery是可能的。有什么办法可以从服务器端解决这个问题吗?你可以共享网页的html。这些文本框是相互依赖的吗。就像如果你填了一个,那么另一个就需要填了。就像条件验证一样?至少应该从两个字段中填写一个字段为什么不使用jquery进行验证?我知道使用jquery是可能的。有什么办法可以从服务器端解决这个问题吗?你可以共享网页的html。这些文本框是相互依赖的吗。就像如果你填了一个,那么另一个就需要填了。与条件验证类似?两个字段中至少应填写一个字段。是否有任何方法可以使用服务器端验证解决此问题?您可以使用javascript函数。但是如何为两个控件设置controltovalidate属性?是否有任何方法可以使用服务器端验证解决此问题?您可以使用javascript但是如何为两个控件设置controltovalidate属性呢?